jmeter性能测试常用插件简介
jmeter作为一个开源的接口性能测试工具,相对于商业性软件loadrunner来说,优点是更加灵活方便,操作简单。但相对来说,专业性和对性能参数的分析相对比较薄弱。但是通过第三方插件,就能将一些重要的参数分析细化,也能设置复杂化的场景,弥补其专业性的弱势。同时也能发挥其灵活简单的优点。
下载及安装
插件下载有两种方式
1.下载plugins-manager.jar包,将其放入jmeter安装目录下的lib/ext目录,然后重启jmeter。
jar包下载地址:https://jmeter-plugins.org/install/Install/
此jar包作用是在jmeter中增加Plugins Manager模块,可以在里面下载所有扩展的插件jar包,同时也可以对插件进行管理。如下图表示此jar包安装成功。
打开后界面如下:
Installed Plugins(已安装的插件):即插件jar包中已经包含的插件,可以通过选中勾选框,来使用这些插件;
Available Plugins(可下载的插件):即该插件扩展的一些插件,可以通过选中勾选框,来下载所需要的插件;
Upgrades(可更新的插件):即可以更新到最新版本的一些插件,可以通过点击截图右下角的Apply Changes and Restart Jmeter按钮来下载更新;2.官网链接地址下载JMeter的plugins插件jar包,将其放入jmeter安装目录下的lib/ext目录,然后重启jmeter。ps:部分插件jar包可在我分享资源中下载
重启jmeter后,在添加监听器选项中,显示如下选项则表明插件安装成功
插件使用及介绍
一、常用组件简要介绍
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: 每秒事务数,服务器每秒处理的事务数
二、常用组件详细解读
- Transactions per Second
TPS:每秒事务数。该插件的作用是在测试脚本执行过程中,监控查看服务器的TPS表现,比如整体趋势、实时平均值走向、稳定性等。 - 对一个接口做压测,在监听器中添加该插件,如下图所示,可直观显示实时的TPS的整体趋势变化,稳定性等
- ps:此处设置的压测时间比较短看到的规律性不强,在做长时间压测时更能直观显示TPS的变化趋势
- Response Times Over Time
事务响应时间。该插件的主要作用是在测试脚本执行过程中,监控查看响应时间的实时平均值、整体响应时间走向等。 - 对一个接口做压测,在监听器中添加该插件,如下图所示,可显示响应时间的实时平均值、整体响应时间走向等
- PerfMon Metrics Collector
服务器性能监控数据采集器。监控服务器的资源使用情况,比如CPU、memory、I/O等。该插件可以在性能测试中实时监控服务器的各项资源使用
需要下载俩个jar包JMeterPlugins-Standard和JMeterPlugins-Extras和一个ServerAgent-2.2.3zip包(https://github.com/undera/perfmon-agent)
JMeterPlugins-Standard和JMeterPlugins-Extras包放到jmeter安装文件中的lib/ext中,重启jmeter,即可看到该监视器插件
将ServerAgent-2.2.3zip包上传到被测服务器,解压,进入目录,Windows环境,双击ServerAgent.bat启动;linux环境执ServerAgent.sh启动,默认使用4444端口。
打开该插件界面
其中Host/IP填入服务器地址
Port填入默认端口
Metric to collect选择需要监控的具体指标(cpu,IO等等)
文件名填入一个具体的文件名导出到具体路径
填写完毕,启动线程
- Stepping Thread Group
使用该插件可以实现对系统不断增压的测试,做负载测试(类似于loadrunner中场景设置中设置测试的策略,包括用户启动的速度,执行时间,集合策略等等的简化版)
安装:
打开JMeter上的plugin manager,点击[AvailablePlugns]下拉滚动条到底部(或者直接搜索jpgc-Standard Set名称),
勾选jpgc-Standard Set,点击右下角的Apply Changes and Restart JMeter,安装好了jpgc会出现在Installed Plugins列表里
界面如下所示:
参数分析:
This group will start 100 threads:设置线程组启动的线程总数为100个;
First,wait for N seconds:启动第一个线程之前,需要等待N秒;等待0s后开始起线程,也就是不等待直接起线程。
Then start N threads:设置最开始时启动N个线程;从N个线程开始持续增加。
Next,add 10 threads every 30 seconds,using ramp-up 5 seconds:每隔30秒,启动10个线程,10个线程在5秒内启动完成;每增加10个线程后会运行30s,再起余下的10个线程,再运行30s,以此类推。
Then hold load for 60 seconds:启动的线程总数达到最大值之后,再持续运行60秒;
Finally,stop 5 threads every 1 seconds:每秒停止5个线程;
场景举例
比如设置一个典型的具体负载场景,持续增加负载,检验在不同负载下的性能如下图:
共100个线程按照阶梯状递增,每5秒内加载20个线程直到加到100个线程。
其中每个阶梯运行600秒,最后一个阶梯运行1000秒,即最终并发100个线程时的运行时间为1000秒。
最后每秒停止10个线程。
同时在该线程组中增加监听器,查看各监控器中的运行结果
从以上的插件可直观看到各类参数的变化,分析性能也更具参考性
ps:插件如上简介还有很多种类,在不同的场景中可以使用插件更方便直观查看性能的变化。本文档只做简单的安装及部分插件的使用,后期可根据具体的事例做详细的使用分享。相关知识分享也参考网上其他文章分享并自己实践后做出的总结,仅供参考,感谢观看