如果你想從頭學習Jmeter,可以看看這個系列的文章哦
https://www.cnblogs.com/poloyy/category/1746599.html
前言
- 做效能測試,監控伺服器資源指標是必須有的一步
- 這一篇部落格將講解通過 Jmeter 外掛來監控伺服器,再通過 Jmeter 觀察監控結果
下載、安裝、執行外掛
- JMeterPlugins-Extras.jar
- JMeterPlugins-Standard.jar
- ServerAgent-2.2.3.zip
可以通過官方下載:https://jmeter-plugins.org/downloads/old/
注意
- 前兩個外掛最新版本在官網已經不提供下載了,只能下載舊版本,官方建議通過 Plugins Manager 下載需要的外掛哦
- 博主安裝了以下外掛,已經包含上面講的前兩個外掛了
這裡也提供百度雲下載連結哈
連結:https://pan.baidu.com/s/1bAaKqGoyaTVoq5picgBGMw
提取碼:q92i
客戶端(Jmeter 端)
- 如果通過官網下載的話,就將 JMeterPlugins-Extras.jar 和 JMeterPlugins-Standard.jar 放到 D:\apache-jmeter-5.2.1\lib\ext
- 然後通過 PerfMon Metrics Collector 監聽器進行伺服器效能資料顯示
服務端(Linux)
將 ServerAgent-2.2.3.zip 放到任意目錄下,解壓
unzip ServerAgent-2.2.3.zip
進入 ServerAgent 目錄
我提供的 ServerAgent 裡面,兩個 start 指令碼已經是可執行指令碼了,直接執行即可
./startAgent.sh
執行成功,則會出現下圖
如果無法執行,則需要給指令碼賦權
chmod 777 startAgent.sh
如果是想監控 Window 機器,則將 ServerAgent 放到 Window 電腦的目錄下,然後直接雙擊執行 startAgent.bat 即可
劃重點
- 啟動 ServerAgent 的前提是系統已安裝配置好 Java 環境
- 預設佔用埠是 4444
啟動 ServerAgent 可能會出現的問題
埠被佔用
殺掉佔用 4444 埠的程式
- 先查出 4444 埠是什麼程式佔用
- 然後檢視程式詳情,確認是否能殺掉
- 如果可以,則殺掉、
ServerAgent 通過其他埠啟動
./startAgent.sh --udp-port 0 --tcp-port 1234
0 代表不開啟該埠,一般我們只用 tcp 足以
埠未對外開放
- 如果伺服器開啟了防火牆,而且之前沒用過 4444 埠,那麼該埠很可能會被禁用
- 為了解決防火牆和開放埠的問題,可以參考這篇博文:https://www.cnblogs.com/poloyy/p/12213297.html
Jmeter 監控伺服器全流程
一個簡單的負載測試執行緒組結構樹
一般做負載測試,會監控伺服器資源、活動執行緒數、響應時間、TPS等等,所以加了一堆監聽器
PerfMon Metrics Collector
IP 自然就是填需要監控的伺服器 IP啦,如果是監控本機就填 127.0.0.1 就好了
可監控的指標列表
還挺多,不過一般重點關注前面四個就好了
執行結果
我的 cpu 真高...因為資料庫出現死鎖了,回頭可以好好效能分析一波了!