Jmeter原理及配置

JMeter的工作原理

向服务器提交请求;从服务器取回请求返回的结果。

 

JMeter的作用

JMeter可以用于测试静态或者动态资源的性能(文件、Servlets、Perl脚本、java对象、数据库和查询、ftp服务器或者其他的资源)。JMeter用于模拟在服务器、网络或者其他对象上附加高负载以测试他们提供服务的受压能力,或者分析他们提供的服务在不同负载条件下的总性能情况。你可以用JMeter提供的图形化界面分析性能指标或者在高负载情况下测试服务器/脚本/对象的行为。

 

Jmeter的配置及作用

1. 测试计划:使用JMeter进行测试的起点,它是其它JMeter测试元件的容器。测试计划主要有如下选项:

名称:可以给测试计划设置一个个性化的命名

注释:可以对测试计划添加备注以标记

用户自定义变量:

独立运行每个线程组:再每一组运行结束后启动下一个

Run tearDown Thread Groups after shutdown of main threads: 主线程关闭运行后拆除线程组

函数测试模式:只有当你需求记录每个请求从服务器取得的数据到文件时,才需要选择函数测试模式,选择这个选项很影响性能。

2. 线程组:代表一定数量的并发用户,一般用来模拟并发用户发送请求。

名称:可以给线程组设置一个个性化的命名

注释:可以对线程组添加备注以标记

在取样器错误后要执行的动作:就是在错误之后要如何执行,可选继续执行后续的、停止执行等。

线程数:就是需要设置多少线程执行测试。

Ramp-up Period (in Seconds):在这时间内创建完所有的线程。默认值是0。如果未指定ramp-up period ,也就是说ramp-up period 为零,JMeter将立即建立所有线程。假设Ramp-up Period设置成T秒, 全部线程数设置成N个,JMeter将每隔T/N秒建立一个线程。

循环次数:就是决定一个线程要跑多少次测试。

Delay Thread creation until needed:直到需要时延迟线程的创建

调度器:选中之后可以配置启动时间,立即或者预定的时间

操作见如图:

第一条,10个线程,10秒内启动,持续运行600秒,然后停止10秒。

第二条,10个线程,等待620秒之后,10秒内启动,运行600秒,停止10秒。

第三条,10个线程,等待1240秒之后,10秒内启动,运行600秒,然后停止。

    Start Thread Count:开始线程数量

    Initial Ddlay,Sec:线程延迟多长时间开始运行

    Startup Time,Sec:线程加载多长时间

    Hold Load For,Sec:线程持续运行多长时间

    Shutdown Time:线程停止时长,在多长时间内停止下来。

Jmeter原理及配置

3. 取样器(Sampler):模拟各种请求。所有实际的测试任务都由取样器承担,存在很多种请求。如:HTTP 、FTP请求等等。

4. 监听器:负责收集测试结果,对运行的结果进行展示,常用的有查看结果树和聚合报告两种。

查看结果树:

Jmeter原理及配置

Thread Name:线程组名称

Sample Start: 启动开始时间

Load time:加载时长

Latency:等待时长

Size in bytes:发送的数据总大小

Headers size in bytes:发送数据的其余部分大小

Sample Count:发送统计

Error Count:交互错误统计

Response code:返回码

Response message:返回信息

Response headers:返回的头部信息

聚合报告具体各项指标及意义说明如下:

Jmeter原理及配置

Label:说明是请求类型,如Http,FTP等请求。

#Samples:也就是图形报表中的样本数目,总共发送到服务器的样本数目。

Average:也就是图形报表中的平均值,是总运行时间除以发送到服务器的请求数。

Median:也就是图形报表中的中间值,是代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。

90%line:是指90%请求的响应时间比所得数值还要小。

Min:服务器响应的最短时间。

Max:服务器响应的最长时间。

Error%:请求的错误百分比。

Throughput:也就是图形报表中的吞吐量,这里是服务器每单位时间处理的请求数,注意查看是秒或是分钟。

KB/sec:是每秒钟请求的字节数。

图形结果具体各项指标及意义说明如下:

样本数目:总共发送到服务器的请求数。

最新样本:代表时间的数字,是服务器响应最后一个请求的时间。

吞吐量:服务器每分钟处理的请求数。

平均值:总运行时间除以发送到服务器的请求数。

中间值:代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。

偏离:表示服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。

5. 配置元件:维护Sampler需要的配置信息,比如设置一些默认请求值。

6. 断言:判断请求响应的结果是否符合用户预期。

7. 定时器:负责定义请求(线程)之间的延迟间隔,模拟对服务器的连续请求。