一. 場景html
在作性能測試的時候, 服務端的各項資源指標是性能測試很是關心的問題java
性能測試監控的指標主要分爲兩大類: 資源指標和系統指標ios
1.資源指標與硬件資源消耗息息相關.正則表達式
2.系統指標則與用戶場景和業務需求直接相關.數據庫
資源指標服務器
CPU 使用率: 用戶進程與系統進程消耗的CPU百分比, 通常長時間能夠接受的上限不超過85%微信
Memory 利用率: (1-空閒內存/總內存)*100%, 通常至少留有10%的可用內存, 長時間內存使用率上限可接受範圍85%網絡
Disks I/O 用於磁盤存取數據: 用於讀寫操做所佔用的時間百分比, 度量磁盤讀寫性能架構
Network I/O 網絡帶寬: 表示爲發送和接收字節的速率, 判斷網絡鏈接速度是否存在瓶頸,能夠用該計數器的值和目前網絡的帶寬比較.併發
SWAP: 顧名思義就是一個臨時虛擬內存區域但物理內存不足的時候拿出部分空間使用,從而解決內存容量不足的.
如何參看swap呢? 這裏能夠看到內存和swap的使用狀態(單位:MB)
系統指標
併發用戶數:某一時刻同時向系統提交請求的用戶數
在線用戶數:某段時間內訪問系統的用戶數,這些用戶並不必定同時向系統提交請求
平均響應時間:系統處理事務的響應時間的平均值。事務的響應時間是從客戶端提交請求到服務器響應所消耗的時間.
事務成功率:性能測試中,定義事務用於度量一個或者多個業務流程的性能指標,如用戶登陸, 提交訂單操做都可定義爲事務.
二.如何監控服務端關鍵指標呢?
主要針對Unix, Linux, Centos 等進行監控
以unix爲例 free、vmstat、sar、iostat等命令監控內存、CPU、磁盤IO等的使用狀況, 第三方工具備nmon, spotlight等
今天咱們着重講的是性能測試工具Jmeter監控服務端資源
三. Jmeter監控服務端資源
首先添加監聽器 jp@gc - PerfMon Metrics Collector
這是一個插件, 推薦去官網上下載,
https://jmeter-plugins.org/(JMeterPlugins-Standard)
老規矩仍是將插件放在%jmeterhome%/lib/ext,重啓jmeter生效
演示期間爲了不敏感信息打碼, 用本地環境代替服務端(二者在本質上區別不大)
如圖添加相關信息後, 並結合實際的線程組的裏的用例便可以執行了
日誌顯示出錯了,這是怎麼回事呢? 別急, 繼續往下看
log顯示Connection refused (Connection refused), 由於咱們還有一件事情沒有作. 缺乏ServerAgent-2.x, 將它傳到服務端上解壓便可使用, 可能會遇到權限問題, 給他賦予相應權限, 並執行./startAgent.sh, 至此, 準備工做完成.
好, 讓咱們來啓動一下startAgent
agent啓動後咱們再次回到jmeter執行腳本, 查驗咱們添加的監控是否有效
想要監控服務端的資源性能, 一次或者短期是不具備說服力和參考價值的, 能夠將線程組中的循環次數改變, 如設置爲永遠.
還有其餘方法如設置Ramp-Up,將其設置到一個合適的數值或者結合調度器使用, 幾種方式你們能夠本身去嘗試下, 觀察資源變化狀況, 這就是業務場景分析, 轉化成用例了.
性能測試是一個長期投入的過程, 不是簡單的跑幾回壓測工具就能測出問題. 他須要工程師沉澱很是多的性能測試工具使用, 性能測試基礎知識, 服務器性能診斷, 服務端性能監控, 以及很是清晰的瞭解公司服務架構, 中間件, 操做系統, 數據庫, 使用的網絡協議, 網絡, 網關, 路由等, 還須要將公司實際業務轉換爲測試場景和測試用例.
其餘補充:
配置服務器地址和端口號,啓動線程組,查看監聽器性能渲染圖,若是出現圖證實成功了,未出現圖,查看日誌.
一、確認agent是否已啓動監控
二、默認端口號是4444,能夠自行更換端口
三、與運維確認端口號是否開放
四、確認壓測機與服務器是否再同一網段內,若不是同一網段,壓測會有***限制結果不許確,需運維從新開設壓測機(與服務器同一網段)
若是想要改變默認端口號也是很是方便的
java -jar ./CMDRunner.jar --tool PerfMonAgent --udp-port 9999 --tcp-port 9999
就能夠用9999端口號了
今日推薦閱讀文章精選推薦
諮詢工做加微信
掃描二維碼
歡迎自薦和推薦, 須要的微信推送簡歷!
請猛戳下面二維碼瞭解更多