什麼是 Azure 負載測試?

Azure 負載測試是完全受控的負載測試服務,可讓您產生大規模的負載。 無論應用程式的裝載位置為何,這項服務都會針對應用程式模擬流量。 開發人員、測試人員和品質保證 (QA) 工程師都可以利用這項服務來最佳化應用程式效能、可擴縮性或容量。

使用 URL 快速建立 Web 應用程式的負載測試,而不需事先了解測試工具。 Azure 負載測試會抽象化複雜度和基礎結構,以大規模執行負載測試。

針對更進階的負載測試案例,您可以 重複使用現有的 Apache JMeter 測試腳本,這是熱門的開放原始碼負載和效能工具,以建立負載測試。 例如,您的測試計劃可能包含多個應用程式要求、您想要呼叫非 HTTP 端點,或使用輸入數據和參數讓測試更具動態性。

如果您的應用程式裝載在 Azure 上,Azure 負載測試會收集詳細的資源計量,以協助您 識別 Azure 應用程式元件之間的效能瓶頸

若要儘早擷取應用程式效能回歸,請在持續整合和持續部署 (CI/CD) 工作流程新增負載測試。 利用測試失敗準則來定義及驗證您的應用程式品質需求。

Azure 負載測試可讓您測試裝載內部部署的私人應用程式端點或應用程式。 如需詳細資訊,請參閱 在虛擬網路中部署 Azure 負載測試的案例。

下圖顯示 Azure 負載測試的架構概觀。

Diagram that shows the Azure Load Testing architecture.

注意

概觀影像會顯示 Azure 負載測試如何使用 Azure 監視器來擷取應用程式元件的計量。 深入了解支援的 Azure 資源類型

深入瞭解 Azure 負載測試的重要概念。

使用方式情節

Azure 負載測試使用 Apache JMeter,並支援各種應用程式類型和通訊協定。 下列清單提供支援的應用程式或端點類型範例:

  • 使用 HTTP 或 HTTPS 的 Web 應用程式
  • REST API
  • 透過 JDBC 的資料庫
  • 以 TCP 為基礎的端點

藉由 在測試文本中使用 JMeter 外掛程式 ,您可以載入測試更多應用程式類型。

透過快速測試體驗,您可以 測試單一 URL 型 HTTP 端點。 藉由 上傳 JMeter 腳本,您可以使用所有 JMeter 支援的通訊協定。

Azure 負載測試目前不支援 Apache JMeter 以外的其他測試架構。

使用大規模負載測試來識別效能瓶頸

在應用程式負載不足之前,效能問題通常會保持未偵測到。 您可以在 Azure 入口網站 中啟動大規模負載測試,以更快瞭解應用程式在壓力下的行為。 測試執行時,Azure 負載測試儀錶板會提供客戶端和伺服器端計量的即時更新。

負載測試完成後,您可以使用儀錶板來分析測試結果並識別效能瓶頸。 針對 Azure 裝載的應用程式,儀錶板會顯示 Azure 應用程式元件的詳細資源計量。 開始使用教學課程,以 識別 Azure 裝載應用程式的效能瓶頸。

Azure 負載測試會保留測試回合的歷程記錄,並可讓您以可視化方式 比較多個回合 ,以偵測一段時間的效能回歸。

您也可以下載測試結果,以在第三方工具中進行分析。

啟用自動化負載測試

您可以在開發生命週期期間,在有意義的點整合 CI/CD 管線中的 Azure 負載測試。 例如,您可以在每個短期衝刺結束時或在預備環境中自動執行負載測試,以驗證發行候選組建。

開始 將負載測試新增至 CI/CD 工作流程 ,以快速識別負載下應用程式的效能降低。

在測試組態中,指定測試失敗準則以在開發週期早期攔截應用程式效能或穩定性回歸。 例如,當平均響應時間或錯誤數目超過特定閾值時,收到警示。

Azure 負載測試會自動停止自動化負載測試,以回應特定的錯誤狀況。 或者,您也可以在 Apache JMeter 腳本中使用 AutoStop 接聽程式。 自動停止保護您免受失敗測試的進一步產生成本,例如,因為設定不正確的端點 URL。 瞭解如何 設定負載測試的自動停止。

您可以從 Azure Pipelines 或 GitHub Actions 工作流程來觸發 Azure 負載測試。

Azure 負載測試如何運作?

Azure 負載測試會使用 Apache JMeter 來執行負載測試。 您可以使用 Apache JMeter 外掛程式, https://jmeter-plugins.org上傳您自己的外掛程式程式代碼。 Azure 負載測試支援 JMeter 支援的所有通訊協定。 例如,若要負載測試資料庫連線或消息佇列。 深入了解 支援的 Apache JMeter 功能

Azure 負載測試測試引擎會抽象化執行大規模負載測試所需的基礎結構。 每個測試引擎實例都會執行您的 JMeter 腳本,以模擬大量同時存取應用程式端點的虛擬使用者。 當您根據 URL 建立負載測試時(快速測試),Azure 負載測試會自動為您產生 JMeter 測試腳本。 若要相應放大負載測試,您可以設定測試引擎的數目。

您可以在任何位置裝載應用程式:在 Azure、內部部署或其他雲端中。 若要針對沒有公用端點的服務執行負載測試, 請在虛擬網路中部署 Azure 負載測試。

在負載測試期間,Azure 負載測試會收集下列資源計量,並將其顯示在儀錶板中:

  • 用戶端計量 會提供測試引擎所報告的詳細數據。 這些詳細數據包括虛擬用戶數目、要求回應時間或每秒要求數目。

  • 伺服器端計量 會提供 Azure 應用程式元件的相關信息。 Azure 負載測試會與 Azure 監視器整合,包括 Application Insights 和 Container Insights,以從 Azure 服務擷取詳細數據。 視服務類型而定,可以使用不同的計量。 例如,計量可以是資料庫讀取數目、HTTP 回應類型或容器資源耗用量。

Azure 負載測試會自動納入 Azure 網路的最佳做法,以協助確保您的測試能安全地執行。 如果應用程式端點或 Azure 元件開始節流要求,負載測試會自動停止。

此服務會使用由 Microsoft 管理的金鑰,自動加密儲存在負載測試資源中的所有資料(服務管理的金鑰)。 例如,此數據報含您的 Apache JMeter 腳本、組態檔等等。 或者,您也可以 將服務設定為使用客戶管理的金鑰

區域內數據落地

Azure 負載測試不會在您部署服務實例的區域之外儲存或處理客戶數據。

下一步

開始使用 Azure 負載測試: