监控CPU、TPS、事务响应出图表插件-jmeter

第三方插件jmeter-plugins.org

下载地址:https://jmeter-plugins.org/install/Install/

安装:下载后文件为plugins-manager.jar,将其放入jmeter安装目录下的lib/ext目录,然后重启jmeter,即可。

重启jemter,点击选项,最下面的一栏,如下图所示

 

 下载PerfMon和jpgc插件

   

 安装完插件需要重启jmeter,即可看到该监视器插件。如下图:

首先可以打开PerfMon,主要作用可以监控本地和远程操作系统cpu,内存,并支持图形展现

 

 PerfMon主要包含两部分:ServerAgent、The Metrics Collector Listener

1)ServerAgent:

ServerAgent放在被压测的服务器上,是用来收集服务器相关性能指标(cpu、memory、tcp等)、以及jmx等metrics信息,然后通过 TCP or UDP协议来发送给jmeter。启动后,默认监听4444端口,ServerAgent是一个文本协议,可以使用任何客户端发送/接收metrics数据信息。

下载地址(https://jmeter-plugins.org/wiki/PerfMonAgent/ 或者  https://github.com/undera/perfmon-agent),解压后进入目录,执行startAgent.sh或startAgent.bat即可启动agent。

 perfmon= performance   monitor 性能监控  

解压缩

启动文件

startAgent.bat支持windows 远程和本地监控

startAgent.sh支持liunx 远程和本地监控(jmeter也可以部署在liunx上)

同时需要提前安装好java环境(有jar包就需要java环境)

windows下启动演示

点Add Row添加需要监控的项目

Liunx下启动演示,默认4444端口

2)The Metrics Collector Listener

The Metrics Collector Listener是在jmeter上运行的插件,用来收集agent发送的metrics信息,展示图表的。

安装插件后默认已安装,如果未安装可自行下载

下载地址:(https://jmeter-plugins.org/?search=jpgc-perfmon),解压后,把lib里的两个jar拷贝到jmeter的lib目录,吧lib/ext里面的两个jar拷贝到jmeter的lib/ext目录。重启jmeter即可。

在jmeter的添加>监听器中选perfMon选项

然后jmeter上设置对应监控服务器地址

运行脚本报错

端口被占用,因为tcp和udp端口都为4444,修改其中一个,我改的udp为4445

进入到agentsserver  startAgent.bat的存放目录,shift+单击空白打开命令窗口

./startAgent.bat --tcp-port  4444 --udp-port 4445 

 也可以查看下端口状态netstat -an

 需要注意的是这里已经启动了startagent.bat,不需要再到文件夹里面点一次startagent.bat了,否则启动窗口会报端口已占用

 修改后再运行脚本,不报错了,但是还是不出图表

一直显示 waiting for samples

百度了一下 waiting for samples,是这样解决的,感谢原文作者https://blog.csdn.net/m0_37785015/article/details/84885592

1.需要将数据写入一个文件:(路径随意+以.jmx或.txt等形式结尾)

 2.再次运行脚本时,会出现提示框,选择默认的Append to existing file即可,选第三个也行(这里跟参考文章有出入,大家以自己的为准)。

后面发现一个问题,当我把localhost改为127.0.0.1之后,选择第一个追加 append to...再跑一次,出来的图是追加在上一次的图的基础上的结果,所以大家可以看到图例中有两组对Disks I/O 和 Swap 的监控。所以最好还是选第三个吧  重写文件

 再次启动,监控图表的背景出来了,但是没有任何曲线出现

 3.想要监测服务器性能,短时间是不够的,根本监测不到。修改方法有以下几种

a.将线程组中的循环次数改为永远 

b.可以让Ramp-Up时间大些

c.结合调度器等方法实现同样的效果

具体可根据项目需求设置相应的数值

监控画面如下

 

除了监控 cpu,内存操作系统指标,TPS:每秒事务数,在性能测试中也非常关键,不过jmeter自身图表太弱,可以通过扩展插件,如图添加

Transactions per Second(tps监控插件)

 

还有事务相关插件Response Times Over Time

即TRT:事务响应时间

原文地址:https://www.cnblogs.com/Nicloe2333/p/12532303.html