解決jmeter5.1高版本linux CPU,IO,Memory監控性能測試 java.lang.NoSuchMethodError: org.apache.jmeter.samplers.SampleSaveConfiguration.setFormatter(Ljava/t


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/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服務也會無法監聽,這時候可能是端口被占用了,需要修改端口,那么該如何做呢?

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

2、在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/

結語:實際壓測尤其是穩定性測試中我不推薦用jmeter進行這些指標監測,因為cpu,mem,disk的數據jmeter可讀性太差,我自己寫了一篇關於如何搭建壓測性能平台的技術文檔可以加我群咨詢我:

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM