解决jmeter5.1高版本linux CPU,IO,Memory监控性能测试 java.lang.NoSuchMethodError: org.apache.jmeter.samplers.Samp


jmeter中也可以监控服务器的CPU和内存使用情况,但是需要安装一些插件还需要在被监测服务器上开启服务。

安装性能监控插件(jmeter-plugins)后报如下错误,是由于jmeter版本过高jmeter3.1可以成功

如果你使用插件Extra1.4和Standard1.4  那么会遇到高版本method兼容问题,比如版本大于3.1就会在jmeter.log抛出异常,甚至直接jmeterGUI界面启动卡死现象:

java.lang.NoSuchMethodError: org.apache.jmeter.samplers.SampleSaveConfiguration.setFormatter(Ljava/t,

解决办法两种:

第一种使用jmeter3.1搭配jmeter的插件Extras1.4.0和Standard -plugin1.4.0的只支持jmeter3.2以下,不包括3.2!!! 

第二种解决办法使用jmeter-plugin-manager(推荐,毕竟高版本修复了很多问题,此方法安装的jp@gc -PerfMon Metrics Collector插件监控支持到jmeter5.1以及最新版本):

使用jmeter-plugin-manager,安装PerfMon-2.1version解决了以上方法以高版本监控插件不兼容问题

先在Avaliable Plugins搜索Per,然后勾选,再ApplyChanges and Restart jmeter ,此外你还要在被压测服务器安装ServerAgent-2.2.1 ,并启动它,同时注意防火墙必须开放端口4444

systemctl start firewalld

firewall-cmd --zone=public --add-port=4444/tcp --permanent 

firewall-cmd --reload

firewall-cmd --zone=public --list-ports

//Jmeter all release version of history
https://archive.apache.org/dist/jmeter/binaries/

Jmeter3.1.zip
https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-3.1.zip

Jmeter 5.1zip
https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.1.zip

https://jmeter-plugins.org/downloads/old/,当然我推荐你使用

3 .  ServerAgent-2.2.1

ServerAgent-2.2.1下载地址 https://github.com/undera/perfmon-agent

https://github.com/undera/perfmon-agent

三.agentserver启动:

Add Row可以添加需要监控的服务器ip,端口号默认为4444,监控内容CPU/MEMORY/DISKS I/O等

https://jmeter-plugins.org/wiki/PerfMon/

https://jmeter-plugins.org/wiki/PerfMonAgent/

结语:实际压测尤其是稳定性测试中我不推荐用jmeter进行这些指标监测,因为cpu,mem,disk的数据jmeter可读性太差,我自己写了一篇关于如何搭建压测性能平台的技术文档可以加我群咨询我: