文章目录
八、Jmeter监听器
利用监听器监控执行过程中的数据;如执行次数、响应时间、吞吐量、错误率等等…
在jmeter中,通过监听器组件来提供查看、保存、和读取已保存的测试结果功能。
默认情况下,测试结果将被存储为xml格式的文件,文件的后缀: “.jtl”。另外一种存储 格式为CSV文件,该格式的好处就是效率更高,但存储的信息不如xml格式详细。
常用监听器报告
查看结果树
使用Jmeter测试过程中使用最多的监听器
可以在测试过程中可以看到请求的参数、响应的结果,方便对测试脚本的结果做出判断
但是在实际项目过程中,不论是接口自动化测试还是性能测试,在真正运行测试脚本的 时候。一般情况下,查看结果树是需要关闭的。
附:一般只运用于调试脚本。
Summary Report
概要报表;概要信息报告
所有数据写入一个文件:保存测试结果到本地。
文件名:指定保存结果。
仅日志错误:仅保存日志中报错的部分。
Successes:保存日志中成功的部分。
Configure:设置结果属性,即保存哪些结果字段到文件。一般保存必要的字段 信息即可,保存的越多,对负载机的IO会产生影响。
Label:取样器/监听器名称 [最好改成业务名称]
Samples :事务数量
Average:平均一个完成一个事务消耗的时间(平均响应时间)
Median:所有响应时间的中间值,也就是 50% 用户的响应时间,大概是这个意思
Min:最小响应时间
Max:最大响应时间
以上单位都是ms
Std.Dev:偏离量/标准差,值越小表示越稳定
Error %:错误事务率
Throughtput:每秒事务数,即tps 吞吐量
Received KB/sec:网络吞吐量;接收和发送的网络流量 单位是KB
Avg.Bytes:平均数据流量,单位是Byte。
聚合报告
Label:请求对应的name属性值。
Samples : 具有相同标号的样本数,总的发出请求数。
Average :请求的平均响应时间。
Median - 50%:50%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第50%的值。
90% Line :90%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第90%的值。
95% Line :95%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第95%的值。
99% Line :99%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第99%的值。
Min : 最小响应时间。
Max : 最大响应时间。
Error % :本次测试中,有错误请求的百分比。
Throughput : 吞吐量是以每秒/分钟/小时的请求量来度量的。这里表示每秒完成的请求数。
Received KB/sec : 收到的千字节每秒的吞吐量测试。
Sent KB/sec : 发送的千字节每秒的吞吐量测试。
聚合报告中的90%的理解
90% Line :90% of the samples took no more than this time. The remaining samples at leastt as long as this.
一组数由小到大进行排列,找到他的第90%个数(假如是12),那么这个数组中有90% 的数将小于等于12 ,也就是90%用户响应时间不会超过12 秒。
聚合图表(Aggregate Graph)
一般情况下使用不多,出图表的效率与LoadRunner 还是又一定的差距的。
Jmeter也有Loadrunner一样的图形监控扩展
Jmeter的痛点
1、图形监控,相比Loadrunner还是是逊色不少的
2、能监控Windows或Linux吗?就想Loadrunner一样。
扩展插件
- 下载
plugins-manager.jar
并将其放入lib / ext
目录,然后重新启动JMeter
- 下载地址:https://jmeter-plugins.org/downloads/old/
- 我们需要将serverAgent目录下面的文件复制到我们的测试的服务器上,然后点击打
开(我这里是本机,直接在本机上面打开这个应用系统即可,它的默认端口:4444) 下载地址:https://jmeter-plugins.org/wiki/PerfMonAgent/ 该链接地址已经失效
百度云盘链接:http://pan.baidu.com/s/1skZS0Zb 密码:isu5
其中JMeterPlugins-Standard
和JMeterPlugins-Extras
是客户端的插件,ServerAgent
是服务端的插件。
下载成功后,复制JmeterPlugins-Extras.jar
和JmeterPlugins-Standard.jar
两个文件,放到jmeter
安装文件中的lib/ext
中,重启jmeter
,即可看到该监视器插件。如下图:
将ServerAgent-2.2.1.jar上传到被测服务器,解压,进入目录,Windows环境,双击
ServerAgent.bat启动;linux环境执ServerAgent.sh启动,默认使用4444端口。
如出现如下图所示情况,即表明服务端配置成功:
- 服务端启动校验
- CMD进入命令框,观察是否有接收到消息,如果有,即表明ServerAgent成功启动。
- 客户端监听测试
- 给测试脚本中添加jp@gc - PerfMon Metrics Collector监听器,然后添加需要监控的服务 器资源选项,启动脚本,即可在该监听器界面看到资源使用的曲线变化。如下图所示:
在脚本启动后,即可从界面看到服务器资源使用的曲线变化,Chart表示主界面显示, Rows表示小界面以及不同资源曲线所代表的颜色,Settings表示设置,可选择自己需要 的配置。
PerfMon Metrics Collector
即服务器性能监控数据采集器。在性能测试过程中,除了监控TPS和TRT,还需要监控 服务器的资源使用情况,比如CPU、memory、I/O等。该插件可以在性能测试中实时监 控服务器的各项资源使用。
使用方法参照上述的 “客户端监听测试”
Response Times Over Time
即TRT:事务响应时间,性能测试中,最重要的两个指标的另外一个。该插件的主要作 用是在测试脚本执行过程中,监控查看响应时间的实时平均值、整体响应时间走向等。
使用方法如上,下载安装配置好插件之后,重启jmeter,添加该监视器,即可实时看到 实时的TRT数值及整体表现。
某次压力测试TRT变化展示图:
Transactions per Second
即TPS:每秒事务数,性能测试中,最重要的2个指标之一。该插件的作用是在测试脚 本执行过程中,监控查看服务器的TPS表现————比如 JU
某次压力测试TPS变化展示图:
Hits per Second
点击率
在做性能测试的时候,不建议添加太多的监听器,在并发量高得情况下
会出现问题,毕竟Jmeter 是需要读取文件的。
邮件观察仪
在QQ/163邮箱中开启pop3/smtp服务,并生成授权码,备用
在jmeter中添加邮件观察仪,并配置如下
说明信息:
1、文件名:只需要给出路径和保存的文件名称即可,给定之后将会把测试结果的数据写入到文件中
注:它不会将此文件已附件的形式在邮件中,只是将测试结果写入到了定的此目录文件中,如果你运行完脚本,
直接在此路径下打开此文件就可以看到运行结果
2、Address(s):收件人,添加多个收件人邮箱时,中间用逗号隔开,
如:lucky@iberhk.com,bob@iberhk.com
3、Success Limit与Failure Limit:当成功数与失败数为几时进行邮件的发送,我写的1,则失败1次后将发送邮件通知我
4、SMTP的配置见下文
SMTP的配置
重要信息:
HOST:smtp.exmail.qq.com
Port:465
Login:登录的邮箱,填写自己的邮箱即可
Password:16位的授权密码
Connection Security:一定要选SSL
如何获取授权码自行百度。
点击test mail则会在对应邮箱中收到邮件
在测试过程,需要配置success limit failure limit的值