Share via


使用 Azure 負載測試定義負載測試的失敗準則

在本文中,您將瞭解如何使用 Azure 負載測試來定義負載測試的失敗準則或自動停止準則。 失敗準則可讓您定義負載下應用程式的效能和質量預期。 Azure 負載測試支援各種用戶端計量來定義失敗準則,例如錯誤率或回應時間。 自動停止準則可讓您在錯誤率超過指定的閾值時自動停止負載測試。

必要條件

  • 具有有效訂用帳戶的 Azure 帳戶。 如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶
  • Azure 負載測試資源。 如果您需要建立 Azure 負載測試資源,請參閱快速入門 建立和執行負載測試

負載測試失敗準則

負載測試失敗準則是您的測試應該符合的用戶端計量的條件。 您可以在 Azure 負載測試中的負載測試層級定義測試準則。 負載測試可以有一或多個測試準則。 當至少有一個測試準則評估為 True 時,負載測試會取得 失敗 狀態。

您可以在兩個層級定義測試準則。 負載測試可以結合不同層級的準則。

  • 在負載測試層級。 例如,爲了確保總錯誤百分比不會超過閾值。
  • 在 JMeter 要求層級 (JMeter 取樣器)。 例如,您可以指定 getProducts 要求的回應時間閾值,但忽略登入要求的回應時間。

您可以為負載測試定義最多 50 個測試準則。 如果相同用戶端計量有多個準則,則會使用具有最低閾值的準則。

失敗準則結構

Azure 負載測試中的失敗準則格式遵循所支援計量的條件語句。 例如,確認每秒的平均要求數目大於 500。

失敗準則具有下列結構:

  • 負載測試層級的測試準則:Aggregate_function (client_metric) condition threshold
  • 套用至特定 JMeter 要求的測試準則:Request: Aggregate_function (client_metric) condition threshold

下表會描述不同的元件:

參數 描述
Client metric 必要。 應套用條件的用戶端計量。
Aggregate function 必要。 要套用至用戶端計量的彙總函式。
Condition 必要。 比較運算子,例如 greater than、或 less than
Threshold 必要。 要與用戶端計量比較的數值。
Request 選擇性。 套用準則之 JMeter 指令碼中的取樣器名稱。 如果您未指定要求名稱,準則會套用至指令碼中所有要求的彙總。
請勿在 JMeter 指令碼中的取樣器名稱中包含任何個人資料。 取樣器名稱會出現在 Azure 負載測試結果儀表板中。

失敗準則支援的用戶端計量

Azure 負載測試支援下列用戶端計量:

計量 彙總函式 閾值 Condition 描述
response_time_ms avg (平均)
min (最小值)
max (最大值)
pxx (百分位數),xx 可以是 50、75、90、95、96、97、98、99、999 和 9999
整數值,表示毫秒數(毫秒)。 > (大於)
< (小於)
回應時間或經過的時間,以毫秒為單位。 在 Apache JMeter 檔中深入了解經過的時間。
latency avg (平均)
min (最小值)
max (最大值)
pxx (百分位數),xx 可以是 50、90、95、99
整數值,表示毫秒數(毫秒)。 > (大於)
< (小於)
延遲,以毫秒為單位。 深入瞭解 Apache JMeter 檔中的延遲。
error percentage 範圍0-100中的數值,代表百分比。 > (大於) 失敗要求的百分比。
requests_per_sec avg (平均) 具有最多兩個小數位數的數值。 > (大於)
< (小於)
每秒的要求數目。
requests count 整數值。 > (大於)
< (小於)
要求總數。

定義負載測試失敗準則

在本節中,您會在 Azure 入口網站 中設定負載測試的測試準則。

  1. Azure 入口網站中,移至您的 Azure 負載測試資源。

  2. 在左窗格中,選取 [ 測試 ] 以檢視負載測試清單。

  3. 從清單中選取負載測試,然後選取 [ 編輯]。

    Azure 入口網站 中 Azure 負載測試資源測試清單的螢幕快照,其中醒目提示 [編輯] 按鈕。

  4. 在 [ 測試準則] 窗格中,填入您測試的 [計量]、 [匯總] 函式[條件] 和 [閾值 ]。

    Azure 入口網站 中負載測試的 [測試準則] 窗格螢幕快照,並醒目提示要新增測試準則的字段。

    或者,輸入 要求名稱 資訊,以新增特定 JMeter 要求的測試準則。 此值應該符合 JMX 檔案中 JMeter 取樣器的名稱。

    JMeter 使用者介面的螢幕擷取畫面,其中醒目提示要求名稱。

  5. 選取 [套用] 以儲存變更。

    當您現在執行負載測試時,Azure 負載測試會使用測試準則來判斷負載測試回合的狀態。

  6. 執行測試,並在負載測試儀錶板中檢視狀態。

    儀錶板會顯示每個測試準則及其狀態。 如果至少符合一個準則,則整體測試狀態會失敗。

    顯示負載測試儀錶板上測試準則的螢幕快照。

自動停止設定

如果錯誤百分比超過特定時間範圍指定的閾值,Azure 負載測試會自動停止負載測試。 自動停止保護您免受失敗測試的進一步產生成本,例如,因為設定不正確的端點 URL。

在負載測試設定中,您可以啟用或停用自動停止功能,並設定錯誤百分比閾值和時間範圍。 根據預設,Azure 負載測試會自動停止其錯誤百分比在任何 60 秒時間範圍中至少為 90% 的負載測試。

您可以使用 Azure 負載測試自動停止功能搭配 JMeter 指令碼中的自動接聽程式 。 當達成自動停止設定或 JMeter AutoStop 接聽程式中的其中一個準則時,負載測試會自動停止。

警告

如果您停用負載測試的自動停止,即使負載測試設定不正確,也可能會產生成本。

若要在 Azure 入口網站 中設定負載測試的自動停止:

  1. Azure 入口網站中,移至您的 Azure 負載測試資源。

  2. 在左窗格中,選取 [ 測試 ] 以檢視負載測試清單。

  3. 從清單中選取負載測試,然後選取 [ 編輯]。 或者,選取 [建立>上傳 JMeter 腳本 ] 以建立新的測試。

  4. 移至 [ 測試準則] 索引標籤 ,以設定自動停止功能。

    • 使用 自動停止測試控制件啟用或停用自動停止負載測試

    • 如果您啟用自動停止,您可以填入 [錯誤百分比 ] 和 [時間範圍 ] 字段。 以秒為單位指定時間範圍。

      Azure 入口網站 中負載測試的 [測試準則] 窗格螢幕快照,其中醒目提示自動停止功能。

  5. 如果您正在建立新的負載測試,請選取 [ 套用] 或 [檢閱 + 建立 ],以儲存變更。

下一步