文档介绍:在linux下实现jmeter的分布式测试
--刘红霞
目录
1
下载运行jmeter 1
添加线程组 2
集合点 3
. 添加请求 4
. 配置http请求 5
. 参数化变量 6
. 监控器—聚合报告 7
. 监控器—PerfMon Metrics Collector 9
. 监控器—JMXMon Samples Collector 10
. 监控器—察看结果树 11
. 断言 12
. 监听器—断言结果 15
二. 如何监控服务器端的CPU与内存? 16
三. 在linux下实现jmeter的分布式 18
要实现在linux下jmeter分布式测试,首先必须学会在window系统下录制jmeter脚本,所以在正式介绍该问题之前,先介绍下window系统下jmeter脚本的录制和jmeter的一些小的插件.
下载运行jmeter
下载jmeter,如下的版本:
添加线程组
线程数:n,代表的是本次测试模拟的是n个用户
Ramp-Up Period(in seconds):m,代表的是n个用户的启动延时为m秒,通俗点
讲,就是如果线程数为10,该值为5,那么每秒钟将要启动2个用户
循环次数:s,代表的是该线程组运行的次数,选择“永远”会一直执行下去
调度器:个人理解主要是用于当测试系统稳定性时,时间上的一个把控
集合点
在jmeter下的集合点,是通过定时器的Synchronizing Timer插件完成的
表示的是集合到30个用户后,同时对系统进行某一个事物,集合点主要是用于并发的测试,尤其是要测试接口并发的时候,需要配置该插件
. 添加请求
在这里以接口并发测试为例子,
接口名字:获取题库初始版本号,详细内容,如下:
根据接口的性质,这里添加http请求,如下:
注:该http请求,必须是在线程组下添加
. 配置http请求
名称:可以修改为代表该请求功能性的名称
服务器名称或IP:可以填写域名(,取决于程序部署到了那台服务器上
协议:http,方法:post,取决于研发设计的接口方法,编码格式:utf-8,决定了输出的结果是否为中文
路径:填写接口文档中的该接口路径就行,最后一定不要忘了加”?”
参数:license,是入参,如果入参license是一个固定的值,值的部分可以直接填写值,如果license是一个变化的量,需要对参数进行参数化,值填写${license},参数化如下.
. 参数化变量
参数化配置
Filename:文件路径,参数值存放的文件,参数在CSV中是以列区分的
Variable Name:变量名称
Allow quoted data:是否支持引用
Recycle on EOF:当读取变量到结尾,是否支持变量值得循环
Stop thread on EOF:当读取变量到结尾时,是否停止该线程
Sharing mode:变量模式,该变量的值,是适用于当前线程还是所有线程
. 监控器—聚合报告
通过上面的配置,接口请求的功能就配置完成了,接下来的配置主要就是对结果的监控与分析
http请求---监控器—聚合报告:代表的该监控器监控的是该请求的结果
聚合报告,能够简明扼要的显示测试结果
Samples:样本数,模拟的用户数目
Average:所有用户的平均响应时间
Median:根据用户的响应时间,按照从小到大的顺序排序,前50%的用户的平均响应时间
90%line: 根据用户的响应时间,按照从小到大的顺序排序,前90%的用户的平均响应时间
95%line: 根据用户的响应时间,按照从小到大的顺序排序,前95%的用户的平均响应时间
99%line: 根据用户的响应时间,按照从小到大的顺序排序,前99%的用户的平均响应时间
Min:最小的用户响应时间
Max:最大的用户响应时间
Error:请求的错误率
Throughput:吞吐,每秒钟处理的请求个数
KB/sec:每秒钟获取的数据大小
. 监控器—PerfMon Metrics Collector
PerfMon Metrics Collector主要是用于监控服务器的CPU与内存.
配置监控器,如下:
IP:要监控的服务器的ip
端口:4444
如果要完成该监控,关键的在服务器端装插件,具体过程下面的2详讲
. 监控器—JMXMon Sampl