JMeter是一款压力测试工具,通常在压力测试中我们也需要监控和知道服务器的相关资源情况,jmeter本身不具备这个功能,今天我们主要说一下如何通过JMeter插件来监控服务器CPU、内存、磁盘、网络等相关资源
一、一图了解性能测试的阶段性区间变化
前置准备下载后期使用到的插件:
- 客户端插件清单
- JMeterPlugins-Standard-1.4.0.zip
- JMeterPlugins-Extras-1.4.0.zip
- 点击下载:客户端插件下载地址
- 服务端插件清单
- ServerAgent-2.2.1.zip
- 点击下载:服务端插件下载地址
二、插件安装及配置
1. 第一步:在jmeter中添加客户端插件
- 解压JMeterPlugins-Standard-1.4.0.zip,进入其路径JMeterPlugins-Standard-1.4.0libext下,找到JMeterPlugins-Standard.jar
- 解压JMeterPlugins-Extras-1.4.0.zip,进入其路径JMeterPlugins-Extras1.4.0libext下,找到JMeterPlugins-Extras.jar
- 把JMeterPlugins-Standard.jar 和 JMeterPlugins-Extras.jar 放置到JMeter安装目录下的lib/ext目录下
- 重启Jmeter,在监听器中出现 jp@gc- 开头的表示jar包导入成功
插曲:常用组件简单介绍
- jp@gc-Bytes Throughput Over Time:不同时间吞吐量展示(图表) 聚合报告里Throughput是按请求个数来展示的,比如说1.9/sec,就是每s发送1.9个请求;而这里的展示是按字节Bytes来展示的图表
- jp@gc-Composite Graph:混合图表在它的Graphs里面可以设置多少个图表一起展示,它可以同时展示多个图表
- jp@gc-Hits per Second:每秒点击量
- jp@gc-PerfMon Metrics Collector:服务器性能监测控件,包括CPU,Memory,Network,I/O等等
- jp@gc-Reponse Latencies Over Time:记录客户端发送请求完成后,服务器端返回请求之前这段时间
- jp@gc-Reponse Times Distribution:显示测试的响应时间分布,X轴显示由时间间隔分组的响应时间,Y轴包含每个区间的样本数
- jp@gc-Transactions per Second:每秒事务数,服务器每秒处理的事务数
2. 第二步:在服务器上添加插件将ServerAgent-2.2.1.jar 拷贝到服务器上,解压出来(windows服务器中启动startAgent.bat,Linux服务器启动startAgent.sh),打印出下图中右边部分,即为启动成功
- HTTP请求(鼠标右键)>>监听器>>jp@gc-PerfMon Metrics Collector**
3. 第三步:添加PerfMon Metrics Collector监听服务器性能
插曲:指标释义
- Memory:内存
- TCP:通讯协议,传输数据的
- Disks I/O:磁盘吞吐
- Network I/O: 网络吞吐
- JMX:提供接口
- swap:交换区,系统在物理内存不够时,与swap进行交换。
备注:添加服务端的插件可能会碰到的异常,添加插件成功后在JMeter进行引用,点击执行脚本,JMeter客户端可能会出现不响应的异常。此时可以将插件禁用即可。
最终对于我们不同场景的测试结果集进行分析就OK!当然这也不是个简单的事情!
如果你觉得文章对你有所帮助,还劳烦各位动动小手点赞、再看、分享广而告之!感谢!
- End -
文 | 整理于网络 ,转发请备注来源!
Python测试社区博主介绍:7年测试人,某大厂高级系统测试工程师,坐拥1.5W粉丝守护,感谢大家一直以来的支持,个人IP信条:分享真实生活,做个有温度的测试