如果你想從頭學習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
阿里雲 4444 端口不能對外開放
如果是用阿里雲服務器,4444 端口是無法對外開放的,所以要通過其他端口來啟動 ServerAgent
Jmeter 監控服務器全流程
一個簡單的負載測試線程組結構樹
一般做負載測試,會監控服務器資源、活動線程數、響應時間、TPS等等,所以加了一堆監聽器
PerfMon Metrics Collector
IP 自然就是填需要監控的服務器 IP啦,如果是監控本機就填 127.0.0.1 就好了
可監控的指標列表
還挺多,不過一般重點關注前面四個就好了
運行結果
我的 cpu 真高...因為數據庫出現死鎖了,回頭可以好好性能分析一波了!