分享方式:


對您的 Azure App Service 應用程式進行負載測試

在本文中,您將了解如何使用 Azure 負載測試,對 Azure App Service 上裝載的應用程式進行測試。 Azure App Service 是完全受管理的服務,可讓您在雲端建置、部署及調整 Web 應用程式和 API。

使用 Azure 負載測試時,您可以模擬真實世界中傳送至您應用程式和服務的大規模流量。 雖然 Azure App Service 可以自動調整,但當您使用 Azure 負載測試執行負載測試時,您除了可提高可靠性、效能並最佳化成本,還可:

  • 確定所有應用程式元件 (而不僅是 Web 應用程式) 可以處理預期的負載。

  • 確認應用程式符合您的效能和穩定性需求。

  • 使用應用程式資源計量和診斷來識別整個應用程式的效能瓶頸。

  • 避免過度配置運算資源,並減少成本效益低下的情況。

  • 將負載測試整合到您的 CI/CD 管線中,並指定測試失敗準則,以提早偵測到效能衰減。

使用負載測試進行流量模擬

您可以建立負載測試來模擬傳送至 Azure App Service 上應用程式的流量。 Azure 負載測試提供兩個選項來建立負載測試:

  • 建立 URL 型快速測試
  • 使用 Apache JMeter 指令碼 (JMX 檔案)

建立和執行負載測試之後,您可以監視 Web 應用程式和所有相依 Azure 元件的資源計量來找出效能和可擴縮性問題。

建立 URL 型負載測試

您可以直接從 Azure 入口網站 中的 Azure App 服務 Web 應用程式建立 URL 型負載測試。 當您建立負載測試時,您可以選取特定的部署位置,並使用預先填入的端點 URL。

下列螢幕擷取畫面顯示如何在 Azure 入口網站中建立 URL 型負載測試。

開始建立 Azure App 服務的 URL 型負載測試。

上傳 JMeter 指令碼以建立負載測試

Azure 負載測試提供 JMeter 的高擬真支援。 您可以上傳 Apache JMeter 指令碼來建立新的負載測試。 此方法可用於下列情節:

  • 在單一測試中測試多個頁面或端點
  • 測試已驗證的端點
  • 將環境變數或祕密等參數傳遞至負載測試
  • 測試非 HTTP 型端點,例如資料庫連結
  • 設定更進階的負載模式
  • 重複使用現有的 JMeter 指令碼

開始上傳 JMeter 指令碼以建立負載測試

如果您先前已建立 URL 型測試,Azure 負載測試會產生 JMeter 測試指令碼。 您可以下載這個產生的測試指令碼、進行修改或擴充,然後重新上傳指令碼。

監視您的應用程式是否有瓶頸和布建問題

在負載測試期間,Azure 負載測試會收集有關測試回合的計量:

  • 用戶端計量: 測試引擎計量,例如端對端回應時間、每秒要求數目或錯誤百分比。 這些計量提供應用程式是否可以支援模擬使用者負載的整體指示。

  • 伺服器端計量: Azure 應用程式元件的資源計量,例如 App Service 方案的 CPU 百分比、HTTP 回應碼或資料庫資源使用狀況。

使用 Azure 負載測試儀表板來分析測試回合計量,並識別您應用程式中的效能瓶頸,或了解您是否過度佈建某些計算資源。 例如,您可以評估服務方案執行個體大小是否符合您的工作負載。

顯示 Azure 入口網站 中負載測試結果儀錶板的螢幕快照。

深入了解如何在 Azure 負載測試中監視伺服器端計量

對於 Azure App Service 上裝載的應用程式,您可以使用 App Service 診斷來額外了解應用程式的效能和健康情況。 當您將 App Service 應用程式元件新增至負載測試組態時,負載測試儀表板會為您的 App Service 資源提供 App Service 診斷儀表板的直接連結。

顯示 Azure 入口網站 負載測試儀錶板上 [App Service] 區段的螢幕快照。

自訂負載測試的失敗準則

測試失敗準則可讓您設定負載測試用戶端計量的條件。 如果負載測試回合不符合這些條件,則會將測試視為失敗。 開始設定負載測試的失敗準則

例如,您可以指定要求的平均回應時間,或高於指定閾值的失敗要求百分比。 無論是快速測試還是上傳 JMeter 指令碼,您隨時都可以將失敗準則新增至負載測試。

當您在 CI/CD 管線中執行負載測試時,您可以使用測試失敗準則來識別應用程式組建的效能衰減。

此螢幕快照顯示 Azure 入口網站 中負載測試的測試準則頁面。

使用參數跨部署位置進行測試

當您設定負載測試時,您可以指定參數,將環境變數或祕密傳遞至負載測試指令碼。 這些參數讓您的測試指令碼可重複使用且可重新設定。 了解如何使用參數將環境變數傳遞至負載測試

其中一個範例是使用參數作為環境變數,如此一來您就可以避免將應用程式端點 URL 儲存在測試指令碼中。 您也可以使用環境變數,將其他組態設定傳遞至 JMeter 測試指令碼。 例如,您可以將虛擬使用者數目或 CSV 輸入檔的檔案名稱傳遞至測試指令碼。

參數的另一個用途是當您想要跨多個 Azure App Service 部署位置重複使用測試指令碼時。 部署位置是具有專屬主機名稱和個別 URL 的即時應用程式。 使用應用程式端點的參數,然後您可以設定應用程式的預備環境。

此螢幕快照顯示 Azure 入口網站 中快速測試的 [參數] 頁面,其中醒目提示目標 URL 的參數。

下一步

了解如何: