使用 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 入口網站 中設定負載測試的測試準則。
在 Azure 入口網站中,移至您的 Azure 負載測試資源。
在左窗格中,選取 [ 測試 ] 以檢視負載測試清單。
從清單中選取負載測試,然後選取 [ 編輯]。
在 [ 測試準則] 窗格中,填入您測試的 [計量]、 [匯總] 函式、 [條件] 和 [閾值 ]。
或者,輸入 要求名稱 資訊,以新增特定 JMeter 要求的測試準則。 此值應該符合 JMX 檔案中 JMeter 取樣器的名稱。
選取 [套用] 以儲存變更。
當您現在執行負載測試時,Azure 負載測試會使用測試準則來判斷負載測試回合的狀態。
執行測試,並在負載測試儀錶板中檢視狀態。
儀錶板會顯示每個測試準則及其狀態。 如果至少符合一個準則,則整體測試狀態會失敗。
自動停止設定
如果錯誤百分比超過特定時間範圍指定的閾值,Azure 負載測試會自動停止負載測試。 自動停止保護您免受失敗測試的進一步產生成本,例如,因為設定不正確的端點 URL。
在負載測試設定中,您可以啟用或停用自動停止功能,並設定錯誤百分比閾值和時間範圍。 根據預設,Azure 負載測試會自動停止其錯誤百分比在任何 60 秒時間範圍中至少為 90% 的負載測試。
您可以使用 Azure 負載測試自動停止功能搭配 JMeter 指令碼中的自動接聽程式 。 當達成自動停止設定或 JMeter AutoStop 接聽程式中的其中一個準則時,負載測試會自動停止。
警告
如果您停用負載測試的自動停止,即使負載測試設定不正確,也可能會產生成本。
若要在 Azure 入口網站 中設定負載測試的自動停止:
在 Azure 入口網站中,移至您的 Azure 負載測試資源。
在左窗格中,選取 [ 測試 ] 以檢視負載測試清單。
從清單中選取負載測試,然後選取 [ 編輯]。 或者,選取 [建立>上傳 JMeter 腳本 ] 以建立新的測試。
移至 [ 測試準則] 索引標籤 ,以設定自動停止功能。
使用 自動停止測試控制件啟用或停用自動停止負載測試 。
如果您啟用自動停止,您可以填入 [錯誤百分比 ] 和 [時間範圍 ] 字段。 以秒為單位指定時間範圍。
如果您正在建立新的負載測試,請選取 [ 套用] 或 [檢閱 + 建立 ],以儲存變更。