0


JMeter进阶-常用第三方插件讲解

第三方插件的安装与使用

Concurrency Thread Group(阶梯式加压)

安装Basic Graphs

  • 在选项–》Plugins-Manager–》Available Plugins 安装Custom Thread Groups,然后点击应用并重启jmeter,如下图:在这里插入图片描述

使用方式:

  • 添加方式:测试计划 --> 线程组–>bzm-Concurrency Thread Group 比如我们需要进行服务器进行负载测试,需要测试1分钟,30秒内以6个阶梯的方式并发到20进程,那么我们可以如下设置:在这里插入图片描述 假如我们不需要阶梯式增加,而是持续增加的方式,那么我们可以如下设置:在这里插入图片描述

Basic Graphs (响应时间,并发数,TPS生成图表)

安装Basic Graphs

  • 在选项–》Plugins-Manager–》Available Plugins 安装3Basic Graphs,如下图:在这里插入图片描述

案例示例:

案例:比如我们需要进行服务器进行负载测试,需要测试1分钟,30秒内以持续并发到20进程,我们分别以Transactions per Second,Active Threads Over Time,Response Times Over Time这3个监听器来示例:
Transactions per Second:(每秒事务处理率/TPS):

  • 添加方式:测试计划 -->监听器–>jp@gc - Transactions per Second
  • 图表分析:在这里插入图片描述 这里我们可以看到,每秒最大事务数为100,最小为0,一般Transactions per Second图表是配合事务控制器一起使用的

Active Threads Over Time:(每秒活动线程变化):

  • 添加方式:测试计划 -->监听器–>jp@gc - Active Threads Over Time
  • 图表分析:在这里插入图片描述 通过上图我们可以看到前30s是持续上升到每秒20并发,后续30秒一直是以每秒20并发的状态持续

Response Times Over Time:(每秒响应时间):

  • 添加方式:测试计划 -->监听器–>jp@gc - Response Times Over Time
  • 图表分析:在这里插入图片描述 从上图我们可以看到,每秒响应时间基本稳定总体事务响应时间在220毫秒左右

Composite Timeline Graph (将所有的图表合并)

安装Composite Timeline Graph

  • 在选项–》Plugins-Manager–》Available Plugins 安装Composite Timeline Graph,如下图:在这里插入图片描述使用方式:
  • 添加方式:测试计划 --> 监听器–>jp@gc - jp@gc - Composite Graph 然后我们添加多个第三方监听器Response Times Over Time,Active Threads Over Time,PerfMon等第三方监听器,然后添加 jp@gc - Composite Graph,最后运行,运行完成之后我们需要在 jp@gc - Composite Graph监听器的Graphs模块下选择要合并查看的数据即可,如下图所示:在这里插入图片描述 最后我们只需要在Chart模块下查看图表并分析即可,这里要注意的一点是上图事务的tps和事务的响应时间图表颜色是一样的,因为它是直接获取其他监听器的数据的,这其中就包括线条的颜色,所以我们只需在Chart模块双击颜色框即可自动更换颜色,方便我们查看数据,如下图所示:在这里插入图片描述

PerfMon (服务器资源使用率生成图表)

安装PerfMon

  • 在选项–》Plugins-Manager–》Available Plugins 安装PerfMon,如下图:在这里插入图片描述服务器上启动Serveragent服务
  • perfmon的使用还需要一个serveragent服务的支持,下载jmeter插件的同时也需要下载一个Serveragent,下载地址:https://github.com/undera/perfmon-agent/blob/master/README.md
  • windows下启动startagent.bat,如下图:
  • 在这里插入图片描述 假如正常启动的话应该如下图所示:在这里插入图片描述
  • Linux下启动startagent.sh,需要先下载1.8jer,选择Server JRE (Java SE Runtime Environment) 8u202,然后根据安装运行的系统进行选择,这里我们选择jre-8u201-linux-x64.tar.gz进行下载解压,解压完成后我们将其复制到ServerAgent-x.x.x文件夹下,如下图所示:在这里插入图片描述 然后我们将startAgent.sh用vim编辑模式打开,把java 替换为jre1.8.0 _201\bin\java如下图所示:在这里插入图片描述 然后我们使用命令./startAgent.sh启动服务即可,启动成功应该如下图所示:在这里插入图片描述

使用方式:

  • 添加方式:测试计划 --> 监听器–>jp@gc - PerfMon Metrics Collector
  • 假如我们需要查看服务器内存与cpu使用的资源,我们可以这样设置,先填写服务器的地址和端口号,然后再选择性能指标,假如需要对单个进程测试资源消耗则可在Metric parameter中进行设置,总体配置如下图所示:在这里插入图片描述 然后并发10个进程运行20s,运行结果如下图所示:在这里插入图片描述 生成图表之后我们可以在右键保存为csv文件,这样我们可以获得更详细的数据(如下图):在这里插入图片描述

关于性能指标

  • CPU:- 1.对于各指标项,数值都是代表百分比,比如默认配置(combined)下在曲线图中看到某个时间的数值是30,即代表此时总的cpu使用时间占比为30%。- 2.有两点比较有用的地方值得说明:一是在Scope区域,可以通过Per Process选项来获取指定进程的CPU使用情况,二是在CPU Cores区域,我们可以选择监控指定的单个Core。
  • Memory:- 1.各指标项中,usedperc(默认)和freeperc两项的数值代表与总内存的百分比,其余指标项的数值都是指内存大小,选中对应想,可以看到Metric Unit区域单位配置将变为可用,通常Mb会比较适合观察。- 2.同样,也可以选择监控指定进程的数据。
  • Network I/O:- 1.单位kbps
  • Disk I/O:- 1.各指标项中,queue(默认)的数值代表等待I/O队列长度,reads、writes分别代表每秒处理的读/写次数,readbytes、writebytes顾名思义,代表每秒读/写的数据量,单位同样在Metric Unit区域配置,通常Mb会比较适合观察运行中遇到的问题:
  • Windows提示socket write error或startAgent.bat闪退 启动成功后,使用jmeter时运行时报错java.net.SocketException: Connection reset by peer: socket write error at java.net.SocketOutputStream.socketWrite0(Native Method) ~[?:1.8.0_311] at java.net.SocketOutputStream.socketWrite(Unknown Source) ~[?:1.8.0_311] at java.net.SocketOutputStream.write(Unknown Source) ~[?:1.8.0_311] 或startAgent.bat闪退 查看hs_err_pidxxxx.log错误日志与下图一样:在这里插入图片描述 出现这种情况请尝试下载1.8_jer解决 1.下载1.8jer,选择Server JRE (Java SE Runtime Environment) 8u202,然后根据安装运行的系统进行选择 2.解压缩文件,并将jdk1.8.0_202目录下的jrew文件复制到ServerAgent-x.x.x文件夹下如图:在这里插入图片描述 3.然后编辑startAgent.bat文件,并将文本内java的替换成当前目录下jre\bin\java.exe,如下图:在这里插入图片描述 然后重新运行即可
  • 提示ERROR: java.io.IOException: Agent is unreachable via TCP 出现这种提示极有可能是端口被占用了,因为启动startAgent是使用默认端口4444,此时请查看端口444是否被占用,假如端口被占用那么使用参数--tcp-port 端口来启动startAgent.bat或者startAgent.sh,比如将端口号4444修改为4445 windows 示例startAgent.bat --tcp-port 4445 linux 示例./startAgent.sh --tcp-port 4445
  • 远端连接服务器时提示java.net.ConnectException: Connection timed out: connect 出现以上提示极大概率是防火墙没有关闭,请尝试关闭防火墙之后重试
标签: 压力测试

本文转载自: https://blog.csdn.net/weixin_45314192/article/details/123724867
版权归原作者 达文西先生 所有, 如有侵权,请联系我们删除。

“JMeter进阶-常用第三方插件讲解”的评论:

还没有评论