Home >> Blog >> 如何使用 JMeter 進行網站性能和負載測試

如何使用 JMeter 進行網站性能和負載測試

JMeter 負載測試

JMeter 負載測試是使用名為 Apache JMeter 的負載測試工具完成測試的過程,Apache JMeter 是基於 Java 的開源open source桌面應用程式。用於負載測試的 JMeter 是確定被測 Web 應用程式是否能夠滿足高負載要求的SEO關鍵工具。它還有助於分析重負載下的整體伺服器。

JMeter 性能測試

JMeter 性能測試是使用 Apache JMeter 執行的測試方法,用於測試 Web 應用程式的性能。JMeter 性能測試有助於測試靜態和動態資源,有助於發現網站上的並排用戶,並為性能測試提供各種圖形分析。JMeter性能測試包括Web應用的負載測試和壓力測試。

如何使用 JMeter 進行性能和負載測試

Apache JMeter 測試工具在性能測試中提供以下好處

  • JMeter 可用於測試JavaScript和 HTML 等靜態資源以及JSP、Servlet 和 AJAX 等動態資源的性能。
  • JMeter 可以 發現您的網站可以處理的最大並髮用戶數
  • JMeter 提供各種性能報告的圖形分析。

JMeter 性能測試包括:

如何使用 JMeter 進行性能和負載測試

  • 負載測試:通過模擬多個用戶同時訪問Web 服務來為預期使用建模。
  • 壓力測試:每個 Web 伺服器都有最大負載能力。當負載超出限制時,Web 伺服器開始響應緩慢並產生錯誤。壓力測試的目的是找出 Web 伺服器可以處理的最大負載。

下圖展示了 JMeter 負載測試如何模擬重負載:

如何使用 JMeter 進行性能和負載測試

在 JMeter 中創建性能測試計劃

在本教學中,我們將針對 1000 個用戶對 Google.com 進行性能分析

在本教學中,我們將針對 1000 個用戶對 Google.com 進行性能分析

  • 正常負載:訪問您網站的平均用戶數
  • 重載:訪問您網站的最大用戶數
  • 你在這個測試中的目標是什麼?

這是這個實際示例的路線圖

如何使用 JMeter 進行性能和負載測試

步驟 1) 添加線性組

  1. 啟動JMeter
  2. 在樹上選擇測試計劃
  3. 添加線性組

右鍵單擊“測試計劃”並添加一個新線性組:添加 ->線性(用戶) -> 線性組

如何使用 JMeter 進行性能和負載測試

在線性組控制面板中,輸入線性屬性,如下所示:

如何使用 JMeter 進行性能和負載測試

  1. 線性數:100(連接到目標網站的用戶數:100)
  2. 循環次數:10(執行測試的次數)
  3. 加速期:100

線性計數和循環計數是不同的。

如何使用 JMeter 進行性能和負載測試

Ramp-Up Period 告訴 JMeter在開始下一個用戶之前要延遲多長時間。例如,如果我們有 100 個用戶和 100 秒的 Ramp-Up 週期,那麼啟動用戶之間的延遲將是 1 秒(100 秒/100 個用戶)

如何使用 JMeter 進行性能和負載測試

步驟 2) 添加 JMeter 元素

現在我們確定這個測試中有哪些JMeter 元素。元素是

可以通過右鍵單擊線性組並選擇:添加 ->配置元素 -> HTTP 請求默認值來添加此元素。

如何使用 JMeter 進行性能和負載測試

在 HTTP 請求默認值控制面板中,輸入被測網站名稱 ( http://www.google.com )

如何使用 JMeter 進行性能和負載測試

HTTP 請求

右鍵單擊線性組並選擇:添加 -> Sampler -> HTTP Request。

如何使用 JMeter 進行性能和負載測試

在 HTTP 請求控制面板中,路徑字段指示您要發送到 Google 伺服器的URL 請求。

如何使用 JMeter 進行性能和負載測試

例如,如果您輸入“在路徑字段中輸入“日曆”。JMeter 將向 Google 伺服器創建 URL 請求http://www.google.com/calendar

如何使用 JMeter 進行性能和負載測試

如果您將 Path 字段保留為空白 ,JMeter 將創建 URL 請求http://www.google.com到 Google 伺服器。

在此測試中,您將 Path 字段保留為空白,以使 JMeter 創建 URL 請求http://www.google.com 到 Google 伺服器。

在此測試中,您將 Path 字段保留為空白,以使 JMeter 創建 URL 請求http://www.google.com 到 Google 伺服器。

JMeter 可以以 Graph 格式顯示測試結果。

右鍵單擊測試計劃,添加 ->偵聽器 ->圖表結果

如何使用 JMeter 進行性能和負載測試

步驟 4) 運行測試並獲取測試結果

按運行按鈕 (Ctrl + R) 開始軟件測試過程。您將在 Graph 上實時看到測試結果顯示。

下圖是一個測試計劃圖,我們模擬了 100 個訪問網站www.google.com的用戶。

如何使用 JMeter 進行性能和負載測試

在圖片的底部,有以下統計數據,以顏色表示:

  • 黑色:當前發送的樣本總數。
  • 藍色:當前發送的所有樣本的平均值。
  • 紅色:當前標準差。
  • 綠色:表示伺服器每分鐘處理的請求數的吞吐率

讓我們在下圖中分析Google伺服器的性能。

如何使用 JMeter 進行性能和負載測試

要分析被測Web伺服器的性能,您應該關注2個參數

  • 吞吐量
  • 偏差

吞吐量是最重要的參數。它代表伺服器處理重負載的能力。吞吐量越高越好_伺服器性能

在本次測試中,Google伺服器的吞吐量為 1,491.193/分鐘。這意味著 Google 伺服器每分鐘可以處理 1,491.193 個請求。該值相當高,因此我們可以得出結論,Google 伺服器具有良好的性能

偏差以紅色顯示——它表示與平均值的偏差。越小越好。_ _

讓我們比較一下 Google 伺服器與其他 Web 伺服器的性能。這是網站http://www.yahoo.com/的性能測試結果(可以選擇其他網站)

如何使用 JMeter 進行性能和負載測試

被測網站http://www.yahoo.com的吞吐量為 867.326/分鐘。這意味著該伺服器每分鐘處理 867.326 個請求,低於 Google。

偏差為 2689,遠高於Google(577)。所以我們可以確定這個網站的性能不及Google伺服器。

注意:上述值取決於幾個因素,例如 Google 當前的伺服器負載、您的互聯網速度、您的 CPU 功率等。因此,您不太可能獲得與上述相同的結果。所以不要驚慌!