快速入門:使用 Locust 指令碼和 Azure 負載測試來建立與執行負載測試
了解如何在 Azure 入口網站中使用 Locust 測試指令碼和 Azure 負載測試來建立及執行負載測試。 Azure 負載測試是一項受控服務,可讓您執行雲端規模的負載測試。 Locust 是開放原始碼負載測試工具,可讓您使用 Python 程式碼描述所有測試。
必要條件
具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
Locust 測試指令碼。 如果沒有測試指令碼,請從 Locust 文件中的 Locust 快速入門開始。
以現有 Locust 測試指令碼建立負載測試的使用案例:
- 您想重複使用現有的 Locust 指令碼來測試應用程式。
- 您想要模擬應用程式的使用者流量,並確保應用程式達到要求。
- 您不想為負載測試設定複雜的基礎結構。 而且,您是開發人員,可能不熟悉負載測試工具和測試指令碼語法。
在本快速入門中,您會使用 Azure 負載測試和 Locust 測試架構建立應用程式端點的負載測試。 您在 Azure 入口網站中建立負載測試資源後,再上傳 Locust 測試指令碼並設定負載參數,以建立負載測試。
重要
Azure 負載測試中的 Locust 支援目前為有限預覽。 如需適合測試版、處於預覽狀態或其他尚未發行正式推出之 Azure 功能的法律條款,請參閱 Microsoft Azure 預覽版補充使用條款。 在這裡註冊,將您的 Azure 訂閱上線以供預覽。
建立 Azure 負載測試資源
您必須先建立 Azure 負載測試的最上層資源。 Azure 入口網站會提供集中式位置,供檢視及管理測試計劃、測試結果和相關成品。
如果已經有負載測試資源,請略過本節,繼續建立負載測試。
建立負載測試資源:
使用您 Azure 訂閱的認證來登入 Azure 入口網站。
從 Azure 入口網站功能表或 [首頁] 頁面,選取 [建立資源]。
在 [Marketplace] 頁面上,搜尋並選取 [Azure 負載測試]。
在 [Azure 負載測試] 窗格上,選取 [建立]。
在 [建立負載測試資源] 頁面上,輸入下列資訊:
欄位 描述 訂用帳戶 選取您要用於此 Azure 負載測試資源的 Azure 訂用帳戶。 資源群組 選取現有的資源群組。 或選取 [新建],然後為新的資源群組輸入唯一的名稱。 名稱 輸入唯一的名稱,以識別您的 Azure 負載測試資源。
名稱不能包含特殊字元,例如 \/""[]:|<>+=;,?*@& 或空白字元。 名稱不能以底線 (_) 開頭,而且不能以句號 (.) 或破折號 (-) 結尾。 長度必須是 1 到 64 個字元。地點 選取裝載 Azure 負載測試資源的地理位置。
此位置也會決定測試引擎的裝載位置,以及測試架構要求的來源位置。注意
或者,您也可以在 [標籤] 索引標籤中設定更多詳細資料。標籤為成對的名稱和值,可讓您將相同的標籤套用至多個資源與資源群組,以便為資源分類及檢視合併的帳單。
設定完資源後,請選取 [檢閱 + 建立]。
檢閱您提供的設定,然後選取 [建立]。 建立帳戶需要幾分鐘的時間。 繼續進行之前,請等候入口網站頁面顯示 [您的部署已完成] 訊息。
若要檢視新資源,請選取 [前往資源]。
-
Azure 負載測試會使用角色型存取控制 (RBAC) 來管理資源權限。 如果您的帳戶沒有管理測試的必要權限,您就會看到此訊息。
建立負載測試
擁有負載測試資源之後,您就可以上傳 Locust 測試指令碼以建立負載測試。 Azure 負載測試會管理基礎結構,以執行大規模的測試指令碼,並模擬應用程式端點的流量。
在 Azure 入口網站中建立 Locust 測試的負載測試:
在 Azure 入口網站中,移至您的 Azure 負載測試資源。
在左側導覽中,選取 [測試] 即可檢視所有測試。
依序選取 [+ 建立] 和 [上傳指令碼]。
在 [基本] 索引標籤上,輸入負載測試詳細資料:
欄位 描述 測試名稱 輸入唯一的測試名稱。 測試描述 (選擇性) 輸入負載測試描述。 建立後執行測試 選取此設定會在儲存負載測試後自動啟動負載測試。 在 [測試計劃] 索引標籤上,為 [負載測試架構] 選取 [Locust]。
接著,從您的電腦中選取 Locust 測試指令碼,然後選取 [上傳] 將檔案上傳至 Azure。
上傳您在測試文本中參考的任何其他檔案。 例如,如果您的測試指令碼使用 CSV 資料集,您可以上傳對應的 .csv 檔案。 若要使用設定檔搭配您的 Locust 指令碼,請上傳檔案,然後在 [檔案相關性] 選取 [Locust 設定]
若要從 『requirements.txt』 檔案安裝任何相依性,請上傳 『requirements.txt』 檔案和其他成品。 在 Locust 腳本中新增此程式代碼以安裝相依性
import subprocess subprocess.check_output("python3 -m pip install -r requirements.txt", shell=True)
若要搭配您的 Locust 使用支援 Python 檔案,請建立支援 Python 檔案的 wheel (.whl) 檔案,並上傳轉輪檔案以及其他成品。 在 Locust 腳本中新增此程式代碼,以在 Locust 啟動期間安裝滾輪檔案
import subprocess subprocess.check_output("python3 -m pip install your_wheel.whl", shell=True)
注意
包含代碼段,以在 Locust 腳本的 import 區段中安裝相依性和支援檔案。 請勿在負載測試區段中包含這些專案。
在 [負載] 索引標籤上,輸入要產生的負載量詳細資料:
欄位 描述 測試引擎執行個體 選取平行測試引擎執行個體數目。 每個測試引擎都會模擬使用者人數的流量。 使用者人數 輸入虛擬使用者人數,以模擬每個測試引擎執行個體。 持續時間 (分鐘) 負載測試的總持續分鐘數。 使用者增加率 (選擇性) 使用者新增率 (每秒使用者)。 主機端點 (選擇性) HTTP 端點 URL。 例如,https://www.contoso.com/products.| 選取 [檢閱 + 建立]。 檢閱所有設定,接著選取 [建立] 以建立負載測試。
您可以隨時更新測試設定,例如上傳不同的 Locust 測試檔案,或修改負載參數。 在測試清單中選擇您的測試,然後選取 [編輯]。
執行負載測試
如果您已選取 [建立之後執行測試],您的負載測試會自動啟動。 若要手動啟動您稍早建立的負載測試,請執行下列步驟:
移至負載測試資源,從左窗格中選取 [測試],然後選取您稍早建立的測試。
在測試清單分頁中,選擇 [執行],或是 [執行測試]。 然後,選取確認窗格上的 [執行] 以啟動負載測試。 您可以選擇是否提供測試回合描述。
提示
您可以隨時從 Azure 入口網站停止負載測試。
請注意 Azure 入口網站中的測試回合詳細資料、統計資料和用戶端計量。
如果測試指令碼中有多個要求,圖表會顯示所有要求,您也可以篩選特定的要求。 在 [取樣器統計資料] 區段中,您可以表格式格式檢視每個要求的統計資料。
使用回合統計資料和錯誤資訊來找出在負載下的應用程式效能和穩定性問題。
摘要
在本快速入門中,您已使用 Locust 測試指令碼以 Azure 負載測試建立並執行負載測試。 Azure 負載測試可簡化設定基礎結構的複雜性,模擬應用程式大量的使用者負載。
您可以進一步擴充負載測試,以另外監視應用程式在負載下的伺服器端計量,以及指定要在應用程式未符合需求時收到警示的測試失敗計量。 為了確保應用程式可以持續正常執行,您也可以將負載測試整合到持續整合與持續傳遞 (CI/CD) 工作流程中。
相關內容
- 了解如何監視應用程式伺服器端計量。
- 了解如何使用環境變數來參數化負載測試。