在 Azure 負載測試中使用 JMeter 腳本對網站進行負載測試

瞭解如何使用 Apache JMeter 腳本,從 Azure 入口網站 或使用 Azure CLI 使用 Azure 負載測試來載入測試 Web 應用程式。 Azure 負載測試可讓您取得現有的 Apache JMeter 腳本,並用它來在雲端規模執行負載測試。 深入瞭解 Azure 負載測試支援哪些 JMeter 功能。

使用現有 JMeter 文稿建立負載測試的使用案例包括:

  • 您想要重複使用現有的 JMeter 腳本來測試您的應用程式。
  • 您想要測試不是以 HTTP 為基礎的端點,例如資料庫或消息佇列。 Azure 負載測試支援 JMeter 支援的所有通訊協定。
  • 若要使用 CLI 命令,Azure CLI 2.2.0 版或更新版本。 執行 az --version 以尋找電腦上安裝的版本。 如果您需要安裝或升級 Azure CLI,請參閱 如何安裝 Azure CLI

必要條件

  • 具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶

  • JMeter 測試文稿 (JMX 檔案)。 如果您沒有測試文本,請從 GitHub 複製或下載範例專案,以開始使用範例腳本。

建立 Azure 負載測試資源

首先,您會建立 Azure 負載測試的最上層資源。 它提供集中的位置,可檢視及管理測試計劃、測試結果和相關成品。

如果您已經有負載測試資源,請略過本節並繼續建立 負載測試

若要建立負載測試資源:

  1. 使用 Azure 訂用帳戶的認證登入 Azure 入口網站

  2. 從 Azure 入口網站功能表或 [首頁] 頁面,選取 [建立資源]

  3. 在 [ Marketplace] 頁面上,搜尋並選取 [Azure 負載測試]。

  4. 在 [ Azure 負載測試] 窗格中,選取 [ 建立]。

  5. 在 [ 建立負載測試資源 ] 頁面上,輸入下列資訊:

    欄位 描述
    訂用帳戶 選取您想要用於此 Azure 負載測試資源的 Azure 訂用帳戶。
    資源群組 選取現有的資源群組。 或選取 [ 新建],然後輸入新資源群組的唯一名稱。
    名稱 輸入唯一的名稱,以識別您的 Azure 負載測試資源。
    名稱不能包含特殊字元,例如\/“”[]:|<>+=;,?*@&, 或空格符。 名稱不能以底線 (_) 開頭,而且不能以句號 (.) 或虛線 (-) 結尾。 長度必須是 1 到 64 個字元。
    地點 選取要裝載 Azure 負載測試資源的地理位置。
    此位置也會決定裝載測試引擎的位置,以及 JMeter 用戶端要求的來源。

    注意

    您可以選擇性地在 [標記] 索引標籤上設定更多詳細數據。標籤是名稱/值組,可讓您將相同的標記套用至多個資源和資源群組,以分類資源並檢視合併計費。

  6. 完成資源設定之後,請選取 [ 檢閱 + 建立]。

  7. 檢閱您提供的設定,然後選取 [ 建立]。 建立帳戶需要幾分鐘的時間。 等候入口網站頁面顯示 您的部署已完成 ,再繼續進行。

  8. 若要檢視新的資源,請選取 [移至資源]。

    Screenshot that shows the deployment completion screen.

  9. 選擇性地 管理 Azure 負載測試資源的存取權。

    Azure 負載測試會使用角色型訪問控制 (RBAC) 來管理資源的許可權。 如果您遇到此訊息,您的帳戶沒有管理測試的必要許可權。

    Screenshot that shows an error message in the Azure portal that you're not authorized to use the Azure Load Testing resource.

建立負載測試

接下來,您會上傳 Apache JMeter 測試腳本 (JMX 檔案) 來建立負載測試。 測試文本包含應用程式要求,以模擬應用程式端點的流量。

若要在 Azure 入口網站 中使用現有的 JMeter 腳稿建立負載測試:

  1. Azure 入口網站 中,移至您的 Azure 負載測試資源。

  2. 在左側導覽中,選取 [ 測試 ] 以檢視所有測試。

  3. 選取 [+ 建立],然後選取 [ 上傳 JMeter 腳本]。

    Screenshot that shows the Azure Load Testing page and the button for creating a new test.

  4. 在 [ 基本] 索引 標籤上,輸入負載測試詳細數據:

    欄位 描述
    測試名稱 輸入唯一的測試名稱。
    測試描述 (選擇性)輸入負載測試描述。
    建立之後執行測試 選取此設定,以在儲存負載測試之後自動啟動負載測試。
  5. 在 [ 測試計劃] 索引標籤上,選取您的 Apache JMeter 腳本,然後選取 [上傳 ] 將檔案上傳至 Azure。

    Screenshot that shows the Test plan tab.

    注意

    您可以上傳其他 JMeter 組態檔,或您在 JMX 檔案中參考的其他檔案。 例如,如果您的測試文本使用 CSV 數據集,您可以上傳對應的 .csv 檔案。 另請參閱如何 從 CSV 檔案讀取數據。 對於 JMeter 腳本和用戶屬性以外的檔案,如果檔案的大小大於 50 MB,請壓縮檔案。 zip 檔案的大小應低於 50 MB。 Azure 負載測試會在測試回合期間自動解壓縮檔案。 每個 zip 中最多只能有 1000 個檔案和未壓縮的總大小為 1 GB 的五個 zip 成品。

  6. 選取 [檢閱 + 建立]。 檢閱所有設定,然後選取 [建立 ] 以建立負載測試。

您可以隨時更新測試組態,例如上傳不同的 JMX 檔案。 在測試清單中選擇您的測試,然後選取 [ 編輯]。

執行負載測試

當 Azure 負載測試啟動負載測試時,它會先將 JMeter 腳本和任何其他檔案部署到測試引擎實例,然後啟動負載測試。

如果您在建立之後選取 [執行測試],負載測試會自動啟動。 若要手動啟動您稍早建立的負載測試,請執行下列步驟:

  1. 移至負載測試資源,從左窗格中選取 [測試 ],然後選取您稍早建立的測試。

    Screenshot that shows the list of load tests.

  2. 在 [測試詳細數據] 頁面上,選取 [執行] 或 [執行測試]。 然後,選取確認窗格上的 [ 執行 ] 以啟動負載測試。 或者,提供測試回合描述。

    Screenshot that shows the run confirmation page.

    提示

    您可以隨時從 Azure 入口網站 停止負載測試。

  3. 請注意 Azure 入口網站 中的測試回合詳細數據、統計數據和用戶端計量。

    如果您在測試文稿中有多個要求,圖表會顯示所有要求,您也可以篩選特定要求。

    Screenshot that shows the test run dashboard.

    使用執行統計數據和錯誤資訊來識別負載下應用程式的效能和穩定性問題。

將 URL 型負載測試轉換為以 JMeter 為基礎的負載測試

如果您建立了 URL 型負載測試,您可以將測試轉換成以 JMeter 為基礎的負載測試。 當您建立 URL 型負載測試時,Azure 負載測試會自動產生 JMeter 腳本。

若要將 URL 型負載測試轉換成以 JMeter 為基礎的負載測試:

  1. 移至負載測試資源,然後選取 [測試 ] 以檢視測試清單。

    請注意測試類型數據行,指出測試是以URL為基礎或以 JMeter 為基礎。

  2. 選取 URL 型負載測試的 省略號 (...), 然後選取 [轉換為 JMeter 腳本]。

    Screenshot that shows the list of tests in the Azure portal, highlighting the menu option to convert the test to a JMeter-based test.

    或者,選取測試,然後在測試詳細數據頁面上選取 [轉換為 JMeter 腳本 ]。

  3. 在 [ 轉換為 JMeter 腳本] 頁面上,選取 [轉換 ] 將測試轉換成以 JMeter 為基礎的測試。

    請注意,測試類型已變更為 測試清單中的 JMX

    Screenshot that shows the list of tests in the Azure portal, highlighting the test type changed to JMX for the converted test.