一篇文章教你如何讀懂 JMeter聚合報告引數!

WanWuJieKeLian發表於2024-07-28

在進行效能測試時,JMeter是一款備受推崇的開源工具。而其中的聚合報告(Aggregate Report)是我們分析測試結果、瞭解系統效能的重要依據。今天,我們就來深入探討如何讀懂JMeter聚合報告中的各項引數。

面對複雜的聚合報告,究竟哪些引數是我們必須關注的?這些引數背後又隱藏著怎樣的重要資訊?

JMeter聚合報告包含多項關鍵引數,以下是從執行緒組引數及其解釋,透過實際案例配置幫助我們更好地理解這些資料:

執行緒組引數解釋


  • 執行緒數(即併發數)

一個使用者佔一個執行緒,200個執行緒就是模擬200個使用者;

  • Ramp-Up 時間(秒)

設定執行緒需要多長時間全部啟動;如果執行緒數為200,準備時長為10,那麼需要1秒鐘啟動20個執行緒;也就是每秒鐘啟動20個執行緒;

  • 迴圈次數

一次場景下來,請求的數量=執行緒數 * 迴圈次數;如果執行緒數為200,迴圈次數為10 ,那麼每個執行緒傳送10次請求;總請求數為200*10=2000 ;如果勾選了“永遠”,那麼所有執行緒會一直髮送請求,直到選擇停止執行指令碼;

JMeter聚合報告引數解釋

  • Label:每個JMeter的element的Name值,例如HTTP Request的Name;
  • 樣本:發出請求數量;模擬20個使用者,迴圈100次,所以顯示了2000;
  • 平均值:平均響應時間(單位:ms);預設是單個Request的平均響應時間,當使用了Transaction Controller時,也可以以Transaction為單位顯示平均響應時間;
  • 中位數:50%的使用者響應時間小於這個值;
  • 95%百分位:95%的使用者響應時間小於這個值;
  • 99%百分位:99%的使用者響應時間小於這個值;
  • 最小值:使用者響應時間最小值;
  • 最大值:使用者響應時間最大值;
  • 異常%:測試出現的錯誤請求數量百分比;請求的錯誤率 = 錯誤請求的數量/請求的總數;若出現錯誤就要看服務端的日誌查詢定位原因;
  • 吞吐量:Throughput簡稱TPS,吞吐量,預設情況下表示每秒處理的請求數,也就是指伺服器處理能力,TPS越高說明伺服器處理能力越好;
  • KB/sec:每秒從伺服器端接收到的資料量;

壓測結果分析


異常%:確認是否允許錯誤的發生或者錯誤率允許在多大的範圍內;

吞吐量:吞吐量每秒請求的數大於併發數,則可以慢慢的往上面增加;若在壓測的機器效能很好的情況下,出現吞吐量小於併發數,說明併發數不能再增加了,可以慢慢的往下減,找到最佳的併發數;

最大的TPS:不斷的增加併發數,加到TPS達到一定值開始出現下降,那麼那個值就是最大的TPS;

最大的併發數:最大的併發數和最大的TPS是不同的機率,一般不斷增加併發數,達到一個值後,伺服器出現請求超時,則可認為該值為最大的併發數;

壓測的時候要時刻關注應用伺服器資料庫伺服器等CPU、記憶體、網路等使用情況;

壓測過程出現效能瓶頸,若壓測客戶端工作管理員檢視到的CPU、網路和CPU都正常,未達到90%以上,則可以說明伺服器有問題,壓測客戶端沒有問題;

影響效能考慮點包括:資料庫、應用程式、中介軟體(php-fpm、nginx、redis…)、網路和作業系統等方面;

迴圈控制器

目的:迴圈該控制器下面子節點的次數。

執行緒組裡迴圈次數設定了n次,迴圈控制器下的迴圈次數也設定了m次,則該控制器下的請求執行的次數是(n*m)次。

如果(If)控制器

目的:判斷條件,可以引用變數。當為 true 時,執行子節點

Interpret Condition as Variable Expression?

如果選擇了此項,則條件必須是一個表示式,需要使用 ${__jexl3 }${__groovy } 表示式)

Evaluate for all children

勾選:對所有采樣器執行前都判斷一次

不勾選:僅入口判斷一次

如果是字串的比較,需要加””

"${url}"=="baidu"

注意事項

在if邏輯控制器的Expression中不能直接填寫條件表示式,需要藉助函式將條件表示式計算為true/false,可以藉助的函式有__jexl3和__groovy函式

隨著網際網路和移動應用的發展,使用者對於系統響應速度和穩定性的要求越來越高。效能測試和分析變得越來越重要,而JMeter聚合報告提供了詳盡的資料,幫助我們全面瞭解系統的效能瓶頸和改進方向。

讀懂JMeter聚合報告引數,不僅能幫助我們準確評估系統效能,還能為後續的最佳化提供重要依據。透過深入分析每一個引數,我們能夠全面瞭解系統在不同負載下的表現,找到效能瓶頸,並制定相應的最佳化方案。

效能測試不僅是發現問題的手段,更是提升系統穩定性和使用者體驗的關鍵。掌握JMeter聚合報告的解析技巧,讓我們在效能最佳化的道路上更加從容自信,助力系統達到最佳表現。

相關文章