Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器,网络 或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。
1.1 jmeter安装
操作平台是linux就下载apache-jmeter-2.10.tgz;windows就下载apache-jmeter-2.10.zip;
Source标签下是jmeter源码,有兴趣的可以下载阅读
下载完成后,直接解压即可,注意jmeter是需要jdk环境的,最新版jmeter2.10,需要jdk6以上版本支持并确保jdk环境变量配置正确
解压完成后进入安装bin目录下,windows的双击jmeter.bat文件,先打开dos窗口,再等几秒打开jmeter操作界面
注意在使用jmeter界面过程中不要关闭dos窗口,关闭dos窗口后,jmeter自动关闭
安装成功
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
二、 功能元件介绍
2.1 测试计划,测试计划是一切jmeter测试脚本的基础,所有功能元件的组合都必须基于测试计划。
2.2 线程组
线程组元件是测试计划的开始点,所有控制器和取样器必须基于线程组的。其他元件例如监听器,可以直接放置在测试计划下与线程组同级,在这种情况下,他们将适用于所有线程组。线程组可以用来设置一下几点:
- 设置并发线程数量
- 设置并发线程的加载时间
- 设置每个线程执行测试脚本的次数
2.3 取样器(Samplers)
取样器是用来向服务器发起请求并且等待接收服务器响应的元件。是jmeter测试脚本最基础的元件,所有与服务器交互的请求都依赖于取样器。取样器主要包括以下几种:
- FTP Request
- HTTP Request
- JDBC Request
- Java object request
- LDAP Request
- SOAP/XML-RPC Request
- WebService (SOAP) Request
每一种类型的取样器都有自己各自不同的配置,在添加取样器时可以根据需要进行配置以达到测试目的。
2.4 逻辑控制器
逻辑控制器主要用来控制在满足条件下请求是否发送,非测试计划必须元件,属于脚本增强元件,利用逻辑控制器可以实现在不同场景下发送不同请求,逻辑控制器的作用域为其下的所有取样器。
2.5 测试片段(Test Fragments )
测试片段元素是控制器上的一个种特殊的线程组,在测试计划中与线程组是同一个级别。它与线程组有所不同,因为它不被执行,除非它是被模块控制器或者控制器所引用时才会被执行。
2.6 监听器(Listenes)

监听器是在测试计划运行过程中监听请求及相应数据的,并且可以对结果形成表格或者图像形式,在测试计划中任意位置均可添加监听器,不同的位置根据监听器作用域监听的请求不同。
2.7 定时器(Timers)

测试计划中,每个sampler之间默认发送是不存在时间间隔的,但是通常情况下处于业务考虑需要增加sampler的间隔时间,这时候使用定时器可以完成此需求,一个线程组中一旦添加定时器,在其作用域内的所有sampler均遵循此定时器设置,不同的线程组可以有不同的定时器,不同线程组之间的定时器互不影响。
2.8 断言(Assertions)

断言用来对请求响应结果是否是请求的期望值,在脚本准备过程中可以用来确保脚本正确性,添加断言后,在监听器监听的结果中可以看到断言验证的请求成败。
2.9 配置元件(Configuration Elements)

配置元件是配合sampler使用,使脚本易于维护和操作,配置元件不会发送请求但是可以改变发送请求的各种参数。
2.10 前置处理器(Pre-Processor Elements)与后置处理器(Post-Processor Elements )
前置处理器是在请求发送之前对请求参数进行处理及设置,已达到测试目的,比如登陆请求参数中的用户名和密码,添加用户参数前置处理器时可以添加
后置处理器是在请求发送之后对于响应数据进行处理及设置,可以提取响应数据中的特定值,类似于Loadrunner的关联