性能测试时,我们的关注点有两部分
1、 服务本身:并发 响应时间 QPS
2 、服务器的资源使用情况:cpu memory I/O disk等
jmeter作为一个开源的接口性能测试工具,其本身的小巧和灵活性给了测试人员很大的帮助,但相比于一些商业工具(比如LoadRunner),在功能的全面性上就稍显不足。
下面介绍下jmeter的第三方插件jmeter-plugins的一些有用的方法,实现对服务器资源监控
我的Jmeter版本是5.1.1
一,下载安装插件
官方下载jar报,下载地址:jmeter-plugins.org
安装:下载后文件为plugins-manager.jar格式,将其放入jmeter安装目录下的lib/ext目录,然后重启jmeter,即可。
启动jemter,点击选项,最下面的一栏,如下图所示
1、进入 JMeter Plugins Manager 界面
Installed Plugins(已安装的插件):即插件jar包中已经包含的插件,可以通过选中勾选框,来使用这些插件;
Available Plugins(可下载的插件):即该插件扩展的一些插件,可以通过选中勾选框,来下载你所需要的插件;
Upgrades(可更新的插件):即可以更新到最新版本的一些插件,一般显示为加粗斜体,可以通过点击截图右下角的Apply Changes and Restart Jmeter按钮来下载更新;
PS:一般不建议进行更新操作,因为最新的插件都有一些兼容问题,而且很可能导致jmeter无法使用(经常报加载类异常)!!!
二、Transactions per Second
即TPS:每秒事务数,性能测试中,最重要的2个指标之一。该插件的作用是在测试脚本执行过程中,监控查看服务器的TPS表现————比如整体趋势、实时平均值走向、稳定性等。
jmeter本身的安装包中,监视器虽然提供了比如聚合报告这种元件,也能提供一些实时的数据,但相比于要求更高的性能测试需求,就稍显乏力。
通过上面的下载地址下载安装好插件后,重启jmeter,从监视器中就可以看到该插件,如下图所示:
这个是压测时服务器的每秒处理请求数的整体走势
三、Response Times Over Time
即TRT:事务响应时间,性能测试中,最重要的两个指标的另外一个。该插件的主要作用是在测试脚本执行过程中,监控查看响应时间的实时平均值、整体响应时间走向等。
使用方法如上,下载安装配置好插件之后,重启jmeter,添加该监视器,即可实时看到实时的TRT数值及整体表现。
某次压力测试TRT变化展示图:
四、PerfMon Metrics Collector
即服务器性能监控数据采集器。在性能测试过程中,除了监控TPS和TRT,还需要监控服务器的资源使用情况,
比如CPU、memory、I/O等。该插件可以在性能测试中实时监控服务器的各项资源使用。
我们可以在客户端安装插件,服务器端安装ServerAgent
1,客户端由于我的Jmeter5.1.1,所以使用的当前的安装方式
点击Available Plugins, 选择PerfMon ,点击应用修改
将ServerAgent-2.2.1.jar上传到被测服务器解压,进入目录,Linux环境执行ServerAgent.sh,默认使用4444端口
2、服务端启动校验
CMD进入命令框,观察是否有接收到消息,如果有,即表明ServerAgent成功启动。
3、客户端监听测试
给测试脚本中添加jp@gc - PerfMon Metrics Collector监听器,然后添加需要监控的服务器资源选项,启动脚本,即可在该监听器界面看到资源使用的曲线变化。如下图所示
添加cpu,memory,disk i/o等