設定負載測試的基準

已完成

既然您已定義負載測試和閾值,讓我們使用它們來建置您的基準。

基準是用來評估測試是失敗或成功的一組計量準則。 例如,您的準則可能是:

  • 每秒平均要求。
  • 錯誤率。
  • 回應時間上限。

若要設定負載測試的基準,您必須:

  1. 定義個別使用者流程和整體解決方案的基準和測試準則。

  2. 調整一般執行的閾值,以確認應用程式持續提供預期的效能,而且不會產生任何錯誤。

  3. 針對混沌測試使用個別的基準,可容許錯誤率的預期尖峰,並暫時降低效能。

此活動是連續的,必須定期完成。 例如,在引進新功能或變更服務 SKU 之後,您必須檢閱基準。

使用 Azure 負載測試來評估閾值

在開發階段,通常不會清楚知道元件效能和資源需求。 負載測試可協助您識別整體解決方案及其元件的預期效能,包括擴增行為。 也可以協助您識別建置基準的預期閾值。

詢問下列問題並定期重新評估:

  • 個別作業、使用者流程或 API 呼叫需要多久才能完成?
  • 每秒可以處理多少個要求、作業和並行使用者?
  • 耗用多少資源?
  • 10、50 和 100 個並行使用者如何影響基礎結構和後端服務?
  • 元件何時應該縮減和擴增?

答案會導向測試和閾值。 每秒的要求數、回應時間和錯誤百分比都是閾值適用的範例。

在記錄詳細資料之後,請使用值以一致的方式分析及評估整體解決方案及其元件的效能。 也請使用基準來識別變更和偏離預期效能的影響。

當您執行測試時,可能會有不同的特殊使用案例需求,例如錯誤元件或負載尖峰。 在這些情況下,可以預期並接受較高的錯誤率或較低的每秒要求數。 您可以有一個包含調整閾值的個別基準,以配合這些情況。 例如:

  • 可預期且需要擴增作業的高負載案例。 在作業完成之前,可能會有暫時效能降低。
  • 混沌實驗,作為持續驗證管線的一部分。 在復原量值開始自我修復應用程式或容錯移轉至另一個區域之前,可能會有較高的錯誤率。

使用 Azure 負載測試來評估您的系統如何根據定義的閾值執行。 此服務具有內建測試準則功能。 也就是說,您可以指定負載測試需要通過的準則。

您可以使用測試準則來實作不同的基準,如下列範例螢幕擷取畫面所示。

顯示範例測試準則之資料表的 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"
      }
    }
  }
]

持續驗證的另一個重要層面是插入會模擬真實世界問題的測試。 在下一個單元中,您會會了解如何將混沌實驗新增至驗證程序。

知識檢查

1.

需要多少基準?

2.

基準是否會定義部署可以提供的效能?

3.

何時需要評估及更新基準?