JMeter- 性能測試解析及使用 JMeter 進行性能測試

1. 什麼是性能測試

性能測試通常分爲三類:壓力測試、併發測試、負載測試,通過模擬多種情況的測試,在一定的負載下運行,監控系統的各項指標,看系統的性能指標是否正常,從而查看系統的瓶頸所在。

2. 性能測試的目的

驗證軟件系統是否能夠達到用戶提出的性能指標,同時發現軟件系統中存在的性能瓶頸,識別系統的弱點,評估系統能力,優化軟件,最後起到優化系統的目的,提高系統可靠性能和穩定性。

  • 評估系統的能力:測試中得到的負荷和響應時間數據可以被用於驗證所計劃的模型的能力,並幫助作出決策。
  • 識別體系中的弱點:受控的負荷可以被增加到一個極端的水平,並突破它,從而修復體系的瓶頸或薄弱的地方。
  • 系統調優:重複運行測試,驗證調整系統的活動得到了預期的結果,從而改進性能。檢測軟件中的問題:長時間的測試執行可導致程序發生由於內存泄露引起的失敗,揭示程序中的隱含的問題或衝突。
  • 驗證穩定性可靠性:在一個生產負荷下執行測試一定的時間是評估系統穩定性和可靠性是否滿足要求的唯一方法。

3. 壓力測試&負載測試&併發測試

壓力測試

壓力測試(Stress Test),也稱爲強度測試。壓力測試是模擬實際應用的軟硬件環境及用戶使用過程的系統負荷,長時間或超大負荷地運行測試軟件,來測試被測系統的性能、可靠性、穩定性等。

負載測試

負載測試(Load Testing),不限制軟件的運行資源,測試軟件的數據吞吐量上限,以發現設計上的錯誤或驗證系統的負載能力。在這種測試中,將使測試對象承擔不同的工作量,以評測和評估測試對象在不同工作量條件下的性能行爲,以及持續正常運行的能力。

負載測試的目標是確定並確保系統在超出最大預期工作量的情況下仍能正常運行。此外,負載測試還要評估性能特徵。例如,響應時間、事務處理速率和其他與時間相關的方面。

併發測試

主要指當測試多用戶併發訪問同一個應用、模塊、數據時是否產生隱藏的併發問題,如內存泄漏、線程鎖、資源爭用問題,幾乎所有的性能測試都會涉及併發測試。

簡述:壓力測試和負載測試是通過長時間的訪問系統或長時間逐步遞增用戶訪問系統,來獲取系統的性能指標,併發測試是指用戶在同一時間點一起訪問,來獲取系統的性能指標。

4. 性能測試所關注的點

  • 性能指標監控:併發數或壓力值、響應時間、錯誤率、吞吐量 TPS / QPS(每秒請求事物數)
  • 服務器指標監控:內存佔用率、CUP 佔用率、磁盤 IO、網絡 IOmmm

內存和 CPU 也需要關注整體服務器的和哪個進程佔用過多如 Tomcat、MySQL。

5. 性能測試所使用工具

業界普遍使用的性能測試工具:JMeter、LoadRunner,都是通過中間代理,監控客戶端發送請求和服務端返回響應。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章