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.jar 和 JMeterPlugins-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
啓動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等
將ServerAgent-2.2.1.zip解壓後放在須要監控的服務器上,並開啓
startAgent.bat(windows)
startAgent.sh(linux)
linux服務器上首先將startAgent.sh設定爲可執行文件:
chmod 777 startAgent.sh
./startAgent.sh執行文件
若是要將該文件設置爲後臺執行不關閉
Nohup ./startAgent.sh &
注意事項:默認端口占用以及修改:
執行時監控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可讀性太差,我本身寫了一篇關於如何搭建壓測性能平臺的技術文檔能夠加我羣諮詢我: