在 Azure 負載測試中建立和管理測試
了解如何在 Azure 負載測試資源中建立和管理負載測試。
必要條件
建立測試
在 Azure 入口網站中建立負載測試的選項有兩個:
- 使用 Web 應用程式 URL 建立快速測試 (URL 型測試)。
- 上傳 JMeter 測試指令碼 (JMX) 來建立測試。
使用 URL 建立快速測試
若要進行單一 HTTP 端點的負載測試,您可以在 Azure 入口網站中使用快速測試體驗,也稱為 URL 型負載測試。 輸入目標 URL 和基本負載參數,以建立負載測試,而不需事先瞭解 JMeter 指令碼。
當您建立快速測試時,Azure 負載測試會產生對應的 JMeter 指令碼、判斷負載測試組態,以及執行負載測試。
若要指定目標負載,請從兩個選項中選擇。 針對每個選項,您接著可以輸入不同的設定來定義應用程式負載。
負載類型 | 描述 | 負載設定 |
---|---|---|
虛擬使用者 | 負載測試會模擬虛擬使用者的目標數目。 在上升期間,會以遞增方式達到目標。 Azure 負載測試會設定測試引擎執行個體總數,如下所示:#instances = #virtual users / 250 然後,每個測試引擎執行個體都會模擬 (虛擬使用者總數 / 測試引擎數目) 個虛擬使用者。 快速測試的虛擬使用者數目上限為 11250。 |
- 虛擬使用者數目 - 測試持續時間 (以秒為單位) - 上升時間 (以秒為單位) |
每秒要求數 | 負載測試會在給定的預估端點回應時間內,模擬目標每秒要求數 (RPS)。 Azure 負載測試會根據 RPS 和回應時間來判斷負載測試的虛擬使用者總數: #virtual users = (RPS * response time) / 1000 接著,服務會根據虛擬使用者的總數,設定測試引擎執行個體數目和每個執行個體的虛擬使用者數目。 |
- 每秒的要求數 - 回應時間 (以毫秒為單位) - 測試持續時間 (以秒為單位) - 上升時間 (以秒為單位) |
若要在 Azure 入口網站中建立快速測試:
在 Azure 入口網站中,移至您的負載測試資源。
在 [概觀] 頁面上選取 [快速測試]。
或者,選取左窗格中的 [測試]、選取 [+ 建立],然後選取 [建立快速測試]。
輸入目標 URL 和負載參數。
選取 [執行測試] 以啟動負載測試。
Azure 負載測試會自動產生 JMeter 測試指令碼,並根據負載參數來設定測試,將測試擴展到多個測試引擎。
執行快速測試之後,您可以進一步編輯負載測試組態。 例如,您可以將應用程式元件新增至監視伺服器端計量、設定高階負載,或編輯所產生的 JMeter 指令碼。
使用 JMeter 指令碼建立測試
若要重複使用現有的 JMeter 測試指令碼,或是要針對更進階的測試案例,請上傳 JMX 檔案來建立測試。 例如,為了從 CSV 輸入檔讀取資料,或為了設定 JMeter 使用者屬性。 如需詳細資訊,請參閱使用現有的 JMeter 指令碼建立負載測試。
如果您不熟悉如何建立 JMeter 指令碼,請參閱開始使用 Apache JMeter。
在 Azure 入口網站中,移至您的負載測試資源。
在 [概觀] 頁面上選取 [建立]。
或者,選取左窗格中的 [測試]、選取 [+ 建立],然後選取 [上傳 JMeter 指令碼]。
在 [基本資料] 頁面上,輸入基本測試資訊。
如果您選取 [建立之後執行測試],測試會自動啟動。 在建立測試之後,便可以隨時手動啟動測試。
測試計劃
測試計劃包含要執行負載測試所需的所有檔案。 測試計劃至少應包含一個 *.jmx
JMeter 指令碼。 Azure 負載測試只會對每個負載測試支援一個 JMX 檔案。
除了測試指令碼,您可以上傳使用者屬性檔、組態檔或輸入資料檔,例如 CSV 檔案。
前往 [測試計劃]。
從本機電腦選取所有檔案,並將其上傳至 Azure。
Azure 負載測試會將所有檔案儲存在單一存放庫中。 如果您的測試指令碼參考組態檔或資料檔案,請務必移除 JMX 檔案中的任何相對路徑名稱。
如果您的測試使用 CSV 輸入資料,您可選擇啟用 [在測試引擎之間平均分割 CSV]。
根據預設,Azure 負載測試會複製並處理所有測試引擎執行個體中未修改的輸入檔案。 Azure 負載測試可讓您跨所有引擎執行個體平均地分割 CSV 輸入資料。 如果您有多個 CSV 檔案,則會平均分割每個檔案。
例如,如果您有大型的客戶 CSV 輸入檔,並在 10 個平行測試引擎上執行負載測試,則每個執行個體都會處理 1/10 的客戶。 深入了解如何在負載測試中讀取 CSV 檔案。
提示
您可選取清單中的檔案名稱,以從 [測試計劃] 索引標籤下載檔案。 例如,您可以下載所產生的 JMeter 指令碼以進行快速測試、加以修改,然後再次上傳檔案。
參數
您可使用參數讓測試計劃可設定,而不是在 JMeter 指令碼中硬式編碼值。 在負載測試設定中指定金鑰值組,然後使用參數名稱在 JMeter 指令碼中參考其值。 如需詳細資訊,請參閱使用環境變數和秘密將負載測試參數化。
指定環境變數以將非敏感性參數傳遞至測試指令碼。
例如,您可使用環境變數將目標網域名稱或連接埠號碼傳遞至測試指令碼。 深入了解如何在負載測試中使用環境變數。
新增秘密的參考 (由 Azure Key Vault 支援)。
使用秘密將密碼或驗證權杖等敏感性參數傳遞至測試指令碼。 您會將秘密值儲存在 Azure Key Vault 中,並在負載測試組態中新增金鑰的參考。 接著,您可使用參數名稱,在指令碼中參考金鑰。 Azure 負載測試接著會從 Azure Key Vault 擷取金鑰值。
深入了解在負載測試中使用秘密。
新增用戶端憑證的參考 (由 Azure Key Vault 支援)。
如果您是使用憑證型驗證的負載測試應用程式端點,您可以將憑證新增至 Azure Key Vault,並在負載測試組態中新增憑證的參考。 Azure 負載測試會在 JMeter 指令碼中的 Web 要求中自動插入憑證。
深入了解如何使用憑證式驗證搭配 Azure 負載測試。
選取用於存取金鑰保存庫的受控識別,以取得秘密或憑證。
深入了解如何使用受控識別搭配 Azure 負載測試。
載入
指定測試引擎執行個體的數目。
Azure 負載測試會自動調整所有執行個體的負載測試。 JMeter 測試指令碼會跨所有執行個體平行執行。 模擬使用者總數等於您在 JMeter 指令碼中指定的虛擬使用者 (執行緒) 數目,乘以測試引擎執行個體的數目。 如需詳細資訊,請參閱設定大規模負載的測試。
設定虛擬網路連線能力。
您可以將負載測試連線到 Azure 虛擬網路,以對私下裝載或內部部署端點進行負載測試。 深入了解在虛擬網路中部署 Azure 負載測試的案例。
若要連線到虛擬網路,請選取 [私人流量模式],然後選取 [虛擬網路] 和 [子網路]。
測試準則
根據用戶端計量來指定測試失敗準則。
當負載測試超過計量的閾值時,負載測試會取得失敗的狀態。 Azure 負載測試目前對失敗準則支援下列用戶端計量:
- 回覆時間
- 每秒要求數目
- 要求的總數
- Latency
- 錯誤百分比
您可以指定整個負載測試的失敗準則,或將它們指派給 JMeter 指令碼中的特定要求。 例如,驗證首頁回應時間未超過特定回應時間。 如需詳細資訊,請參閱設定測試失敗準則。
設定自動停止準則。
當錯誤率超過指定的閾值時,Azure 負載測試可以自動停止負載測試回合。 您可以啟用或停用此功能,並設定特定錯誤率閾值和時間範圍。 深入了解如何設定自動停止準則。
監視
針對 Azure 裝載的應用程式,請在負載測試回合期間新增要監視的 Azure 應用程式元件。 Azure 負載測試會擷取所選 Azure 應用程式元件的詳細資源計量。 使用這些計量來識別應用程式的潛在效能瓶頸。
當您新增應用程式元件時,Azure 負載測試會自動選取元件最相關的資源計量。 您可以隨時針對每個應用程式元件來新增或移除資源計量。
負載測試完成時,測試結果儀表板會顯示每個 Azure 應用程式元件和資源計量的圖表。
如需詳細資訊,請參閱設定伺服器端監視。
執行測試
當您執行或重新執行負載測試時,Azure 負載測試會使用最新的負載測試組態設定來建立新的測試回合。 如果您編輯測試組態,並核取 [在套用變更後執行測試] 核取方塊,負載測試會在儲存變更之後自動啟動。
若要在 Azure 入口網站中執行負載測試:
在 Azure 入口網站中,移至您的負載測試資源。
選取左窗格中的 [測試],然後選取清單中的測試名稱以移至測試詳細資料。
選取執行。
在 [執行] 頁面上,您可選擇輸入測試回合描述並覆寫負載測試參數。
選取 [執行] 以啟動負載測試。
服務會建立新的測試回合,包含您提供的描述。
編輯測試
當您編輯負載測試組態設定時,這些設定會用於未來的測試回合。 當您重新執行先前的測試回合時,會使用測試回合的設定,而不是測試的更新設定。
若要在 Azure 入口網站中編輯測試:
在 Azure 入口網站中,移至您的負載測試資源。
選取左窗格中的 [測試],然後核取對應的核取方塊,以從清單中選取測試。
選取 [編輯] 以更新測試組態設定。
或者,從清單中選取測試,然後選取 [設定]>[測試]。
在 [編輯測試] 頁面中選取 [套用],以儲存變更。
您下次執行測試時,會使用更新的測試組態設定。
刪除測試
若要在 Azure 入口網站中刪除測試:
在 Azure 入口網站中,移至您的負載測試資源。
選取左窗格中的 [測試],然後核取對應的核取方塊,以從清單中選取測試。
選取 [刪除測試] 以刪除測試。
或者,從清單中選取測試,然後在測試詳細資料頁面上選取 [刪除測試]。
在 [刪除測試] 頁面上,選取 [刪除] 以確認刪除測試。
警告
當您刪除測試時,也會刪除所有測試回合、記錄、結果和計量資料。