設定負載測試的基準
既然您已定義負載測試和閾值,讓我們使用它們來建置您的基準。
基準是用來評估測試是失敗或成功的一組計量準則。 例如,您的準則可能是:
- 每秒平均要求。
- 錯誤率。
- 回應時間上限。
若要設定負載測試的基準,您必須:
定義個別使用者流程和整體解決方案的基準和測試準則。
調整一般執行的閾值,以確認應用程式持續提供預期的效能,而且不會產生任何錯誤。
針對混沌測試使用個別的基準,可容許錯誤率的預期尖峰,並暫時降低效能。
此活動是連續的,必須定期完成。 例如,在引進新功能或變更服務 SKU 之後,您必須檢閱基準。
使用 Azure 負載測試來評估閾值
在開發階段,通常不會清楚知道元件效能和資源需求。 負載測試可協助您識別整體解決方案及其元件的預期效能,包括擴增行為。 也可以協助您識別建置基準的預期閾值。
詢問下列問題並定期重新評估:
- 個別作業、使用者流程或 API 呼叫需要多久才能完成?
- 每秒可以處理多少個要求、作業和並行使用者?
- 耗用多少資源?
- 10、50 和 100 個並行使用者如何影響基礎結構和後端服務?
- 元件何時應該縮減和擴增?
答案會導向測試和閾值。 每秒的要求數、回應時間和錯誤百分比都是閾值適用的範例。
在記錄詳細資料之後,請使用值以一致的方式分析及評估整體解決方案及其元件的效能。 也請使用基準來識別變更和偏離預期效能的影響。
當您執行測試時,可能會有不同的特殊使用案例需求,例如錯誤元件或負載尖峰。 在這些情況下,可以預期並接受較高的錯誤率或較低的每秒要求數。 您可以有一個包含調整閾值的個別基準,以配合這些情況。 例如:
- 可預期且需要擴增作業的高負載案例。 在作業完成之前,可能會有暫時效能降低。
- 混沌實驗,作為持續驗證管線的一部分。 在復原量值開始自我修復應用程式或容錯移轉至另一個區域之前,可能會有較高的錯誤率。
使用 Azure 負載測試來評估您的系統如何根據定義的閾值執行。 此服務具有內建測試準則功能。 也就是說,您可以指定負載測試需要通過的準則。
您可以使用測試準則來實作不同的基準,如下列範例螢幕擷取畫面所示。
您可以在 JSON 中指定這些測試準則,並使用 API 將其新增至負載測試。 以下是範例:
[
{
"passFailMetrics": {
"<guid-1>": {
"clientmetric": "requests_per_sec",
"aggregate": "avg",
"condition": "<",
"value": 1200.0,
"actualValue": 0.0,
"result": null,
"action": "continue"
},
"<guid-2>": {
"clientmetric": "response_time_ms",
"aggregate": "avg",
"condition": ">",
"value": 75.0,
"actualValue": 0.0,
"action": "continue"
},
"<guid-3>": {
"clientmetric": "error",
"aggregate": "percentage",
"condition": ">",
"value": 0.0,
"actualValue": 0.0,
"action": "continue"
}
}
}
]
持續驗證的另一個重要層面是插入會模擬真實世界問題的測試。 在下一個單元中,您會會了解如何將混沌實驗新增至驗證程序。