解決jmeter5.1高版本linux CPU,IO,Memory監控性能測試 java.lang.NoSuchMethodError: org.apache.jmeter.samplers.S...

jmeter中也能夠監控服務器的CPU和內存使用狀況,可是須要安裝一些插件還須要在被監測服務器上開啓服務。java

安裝性能監控插件(jmeter-plugins)後報以下錯誤,是因爲jmeter版本太高jmeter3.1能夠成功linux

若是你使用插件Extra1.4和Standard1.4  那麼會遇到高版本method兼容問題,好比版本大於3.1就會在jmeter.log拋出異常,甚至直接jmeterGUI界面啓動卡死現象:git

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

解決辦法兩種:apache

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

第二種解決辦法使用jmeter-plugin-manager(推薦,畢竟高版本修復了不少問題,此方法安裝的jp@gc -PerfMon Metrics Collector插件監控支持到jmeter5.1以及最新版本):服務器

使用jmeter-plugin-manager,安裝PerfMon-2.1version解決了以上方法以高版本監控插件不兼容問題
tcp

先在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/file/JMeterPlugins-Extras-1.3.1.zip

https://jmeter-plugins.org/downloads/file/JMeterPlugins-Standard-1.3.1.zip

而且把  JMeterPlugins-Extras.jarJMeterPlugins-Standard.jar複製到Jmeter\lib\ext 目錄下,若是你還有其它須要下載的插件能夠經過插件市場地址:https://jmeter-plugins.org/downloads/old/,固然我推薦你使用

3 .  ServerAgent-2.2.1

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

 

2.Jmeter主服務器

啓動jmeter,在監聽器的選項中增長了一些jp@gc開頭的監聽器,監控cpu、內存、i/o的監聽是jp@gc -PerfMon Metrics Collector,host/ip下填寫被壓測服務器的ip

 

serverAgent.zip下載地址:

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

 

三.agentserver啓動:

Add Row能夠添加須要監控的服務器ip,端口號默認爲4444,監控內容CPU/MEMORY/DISKS I/O等

3.agent服務器

將ServerAgent-2.2.1.zip解壓後放在須要監控的服務器上,並開啓

startAgent.bat(windows)

startAgent.sh(linux)

linux服務器上首先將startAgent.sh設定爲可執行文件:

chmod 777 startAgent.sh

./startAgent.sh執行文件

若是要將該文件設置爲後臺執行不關閉

Nohup ./startAgent.sh &

Add Row能夠添加須要監控的服務器ip,端口號默認爲4444,監控內容CPU/MEMORY/DISKS I/O等

 

四.結果查看

在服務器上開啓startAgent服務後,再在jmeter上運行腳本,能夠在jp@gc - PerfMon Metrics Collector上查看監控的圖形結果

 

注意事項:默認端口占用以及修改:

執行時監控cpu的插件可能會報錯:java.io.IOException: Agent is unreachable via TCP

windows環境下解決方法:

serveragent的默認端口爲4444,使用jmeter監聽器時,有時即便開啓了agent服務也會沒法監聽,這時候多是端口被佔用了,須要修改端口,那麼該如何作呢?

一、cmd命令進入ServerAgent的根目錄;

二、在cmd中輸入: java -jar ./CMDRunner.jar --tool PerfMonAgent --udp-port 5555 --tcp-port 5555

 

 

PerfMon Metrics Collector and Server Agent原理和使用能夠查看官方文檔

具體能夠查看官方的文檔: 
https://jmeter-plugins.org/wiki/PerfMon/

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

結語:實際壓測尤爲是穩定性測試中我並推薦用此插件,由於cpu,mem,disk的數據jmeter可讀性太差,我本身寫了一篇關於如何搭建壓測性能平臺的技術文檔能夠加我羣諮詢我:

 

 

相關文章
相關標籤/搜索