使用JMeter做压力测试:常用插件、服务器硬件监控_jmeter的吞吐量插件
注意:服务器硬件资源的监控,必须在服务端安装serverAgent代理服务,JMeter才能实现监控服务端的cpu、内存、io的使用情况。执行压力测试,就可以看见压测的每秒事务数、响应时间,活动线程数等压测结果。压测的时候,我们需要实时了解服务器【CPU、内存、网络、服务器Load】的状态如何,如何监控服务器的资源占用情况呢?2 、Basic Graphs:主要显示平均响应时间,活动线程数,成功/
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
在线安装JMeter插件即可。
02 插件介绍
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
安装好这些插件后,就可以看到上面这些监听器。
03 配置插件的监听器
如果可以配置如下三个监听器,就表示插件已经安装成功!执行压力测试,就可以看见压测的每秒事务数、响应时间,活动线程数等压测结果。
响应时间: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)。
04 性能关键指标分析
1、RT:响应时间
平均值:请求响应的平均时间是13ms。
中位数:50%请求响应时间都在10ms之内。
90%百分位:90%的请求都在44ms之内响应结束。
95%百分位:95%的请求都在35ms之内响应结束。
99%百分位:99%的请求都在29ms之内响应结束。
最小值:请求响应最小时间2ms。
最大值:请求响应的最大时间是45ms。
2、压力机活动线程数
压力机活动线程数表明压测过程中施加的压力的情况。
3、TPS:每秒的事务数
数字愈大,代表性能越好。
4、QPS:每秒的查询数量
1tps >= QPS,数字愈大,代表性能越好。
5、吞吐量:每秒的请求数量
数字愈大,代表性能越好。
服务器硬件资源监控
压测的时候,我们需要实时了解服务器【CPU、内存、网络、服务器Load】的状态如何,如何监控服务器的资源占用情况呢?
方法有很多种:
使用shell命令
使用finalshell
使用JMeter压测工具perfmon
监控原理:
使用agent代理实现监控。
01 配置服务端代理
注意:服务器硬件资源的监控,必须在服务端安装serverAgent代理服务,JMeter才能实现监控服务端的cpu、内存、io的使用情况。
ServerAgent下载地址:https://github.com/undera/perfmon-agent/blob/master/README.md
这里以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,当然我们也可以用上面的方式,自定义端口。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
么很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)