1.写在前面
在前一篇文章中,我们已经对jmeter有了一个入门的学习。
掌握了JMeter安装、入门、结果分析等内容,详情可查看这里:压力测试-JMeter安装、入门、结果分析
对于jmeter默认的插件,往往不太够,例如,我们响应监控cpu,内存,网络等资源,那我们就得掌握一些常用得插件的使用才行。
那我们今天就来继续深入的学习一下,主要从以下这些内容进行学习:
- Jmeter常用插件下载及使用
- 服务器硬件资源监控
好了,废话不多说,直接进入主题了!!!
2.Jmeter常用插件下载及使用
已有内容的分析维度不够:需要加入新的插件
查看应用服务器测试报告中的:
TPS、QPS RT 压力机活动线程数
2.1 插件下载
下载地址:jmeter插件,官网上下载plugins-manager.jar。
放入 lib/ext 文件夹里面,然后打开jmeter
在线下载方法如下图所示:
在线安装jmeter插件即可。
2.2 插件介绍:
1 、PerfMon:监控服务器硬件,如CPU,内存,硬盘读写速度等
Allows collecting target server resource metrics
2 、Basic Graphs:主要显示平均响应时间,活动线程数,成功/失败交易数等
Average Response Time 平均响应时间
Active Threads 活动线程数
Successful/Failed Transactions 成功/失败 事务数
3 、Additional Graphs:主要显示吞吐量,连接时间,每秒的点击数等
Response Codes
Bytes Throughput
Connect Times
Latency
Hits/s
复制代码
安装好这些插件后,就可以看到上面这些监听器
2.3 配置插件的监听器
如果可以配置如下三个监听器,就表示插件已经安装成功!执行压力测试,就可以看见压测的每秒事务数、响应时间,活动线程数等压测结果
- 响应时间:jp@gc – Response Times Over Time
- 活动线程数:jp@gc – Active Threads Over Time
- 每秒事务数:jp@gc – Transactions per Second
响应时间:jp@gc – Response Times Over Time(RT)
活动线程数:jp@gc – Active Threads Over Time
每秒事务数:jp@gc – Transactions per Second(TPS)
2.4 性能关键指标分析
1 )RT:响应时间
平均值: 请求响应的平均时间是13ms
中位数: 50%请求响应时间都在10ms之内
90%百分位: 90%的请求都在44ms之内响应结束
95%百分位: 95%的请求都在35ms之内响应结束
99%百分位: 99%的请求都在29ms之内响应结束
最小值: 请求响应最小时间2ms
最大值: 请求响应的最大时间是45ms
复制代码
2 )压力机活动线程数
压力机活动线程数表明压测过程中施加的压力的情况
3 )TPS: 每秒的事务数
数字愈大,代表性能越好;
4 )QPS: 每秒的查询数量
(1tps >= QPS)
数字愈大,代表性能越好;
5 )吞吐量: 每秒的请求数量
数字愈大,代表性能越好;
3. 服务器硬件资源监控
压测的时候,我们需要实时了解服务器【CPU、内存、网络、服务器Load】的状态如何,哪如何监控服务器的资源占用情况呢?方法有很多种:
- 使用shell命令
- 使用finalshell
- 使用JMeter压测工具perfmon
监控原理:
使用agent代理实现监控
3.1 配置服务端代理
注意:服务器硬件资源的监控,必须在服务端安装serverAgent代理服务,jmeter才能实现监控服务端的cpu、内存、io的使用情况。
ServerAgent下载地址:download
这里以2.2.3版本为例
- linux
# 默认启动运行 startAgent.sh 脚本即可
# 服务启动默认 4444 端口,根本连接不上,因此自己创建一个部署脚本文件对此进行部署,且把端口修改为 7879
nohup java -jar ./CMDRunner.jar --tool PerfMonAgent --udp-port 7879 --tcp-port 7879 > log.log 2>&1 &
# 赋予可执行权限
chmod 755 startAgent.sh
复制代码
启用 7879 端口后,服务器的cpu,io,内存使用情况就顺利的监控到了。
- window
双击启动,默认的端口是 4444
当然我们也可以用上面的方式,自定义端口
3.2 监控CPU:
- Elapse time:消耗时间
- Performance Metrics:性能指标
jp@gc PerfMon Metrics Collector
- idle:CPU空闲
- iowait:IO等待
- CPU system:CPU系统占用
- CPU user:CPU用户占用
3.3 监控网络:
- 接收字节:byteSrecv【单位:比特、KB、MB】
- 发送字节:byteSent【单位:比特、KB、MB】
- 发送(transport):tx
- 接收(receive):rx
3.4 监控内存:
- used Perc:每分钟使用内存【单位:字节、KB、MB】
- free Perc:每分钟未使用内存【单位:字节、KB、MB】