在本文中,您會了解如何診斷和疑難排解 Azure 負載測試中的載入測試失敗。 Azure 負載測試提供數個選項來識別失敗負載測試的根本原因。 例如,您可以使用負載測試儀表板,或下載測試結果或測試記錄檔以進行深入分析。 或者,設定伺服器端計量來識別應用程式端點的問題。
Azure 負載測試會使用兩個指標來判斷負載測試結果:
測試狀態:指出負載測試是否能夠成功啟動,並執行測試指令碼直到結束為止。 例如,如果 JMeter 或 Locust 測試指令碼發生錯誤,或自動停止接聽程式中斷負載測試,則測試狀態為失敗。
測試結果:指出評估測試失敗準則的結果。 如果至少符合其中一個測試失敗準則,測試結果會設定為失敗。
根據指標,您可以使用不同的方法來識別測試失敗的根本原因。
先決條件
- 具有有效訂閱的 Azure 帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶。
- 具有已完成測試回合的 Azure 負載測試資源。 如果您需要建立 Azure 負載測試資源,請參閱建立和執行負載測試。
判斷負載測試的結果
使用下列步驟來取得負載測試的結果:
在 Azure 入口網站中,移至您的負載測試資源。
在左窗格中選取 [測試] 以檢視測試清單。
從清單中選取測試,以檢視該測試的所有測試回合。
測試回合清單會顯示測試結果和測試狀態欄位。
或者,選取測試回合以檢視測試回合的負載測試儀表板。
診斷測試失敗
您可以使用不同的方法來根據 Azure 負載測試是否能夠執行和完成測試指令碼來診斷負載測試失敗。
負載測試無法完成
當負載測試無法完成時,測試回合的測試狀態會設定為 [失敗]。
負載測試可能會因為多個原因而無法完成。 負載測試未完成的範例:
- 測試指令碼中有錯誤。
- 測試指令碼會使用 Azure 負載測試不支援的 JMeter 功能。 了解支援的 JMeter 功能。
- 測試指令碼會參考測試引擎執行個體上無法使用的檔案或外掛程式。
- 自動停止功能中斷負載測試,因為要求太多而失敗,錯誤率超過臨界值。 深入了解 Azure 負載測試中的自動停止功能。
使用下列步驟來協助診斷未完成的測試:
您也可以在測試完成後查看基於 AI 的錯誤分析見解。 產生的見解包含錯誤原因和更多可操作的建議。 此功能預設開啟,且可在錯誤刀鋒視窗設定中關閉。 請參閱 Microsoft 隱私聲明。
備註
同意使用以 AI 為基礎的錯誤深入解析,即表示您同意 AI 將使用測試執行的記錄檔來產生建議。
負載測試已完成
負載測試可能會在結束前執行測試指令碼 (測試狀態等於完成),但可能不會通過所有測試失敗準則。 如果至少有測試準則未通過,測試回合測試結果會設定為失敗。
使用下列步驟來協助診斷測試失敗,以符合測試準則:
- 在負載測試儀表板中檢閱測試失敗準則。
- 檢閱負載測試儀表板中的取樣器統計資料,以進一步識別測試指令碼中的哪些要求可能會導致問題。
- 在負載測試儀表板中檢閱用戶端計量。 您可以選擇性地使用篩選控制件來篩選特定要求的圖表。
- 下載測試結果,以取得個別要求的錯誤資訊。
- 確認測試引擎健康情況計量,以識別測試引擎上可能的資源競爭。
- 選擇性地,新增應用程式元件並監視伺服器端計量,以識別應用程式端點的效能瓶頸。
下載負載測試的 Apache JMeter 或 Locust 背景工作角色記錄
當您執行負載測試時,Azure 負載測試的測試引擎會執行 Apache JMeter 或 Locust 測試指令碼。 在負載測試進行期間,Apache JMeter 和 Locust 會將詳細的記錄儲存在背景工作角色節點記錄中。 您可以在 Azure 入口網站中下載每個測試回合的背景工作角色記錄。 Azure 負載測試會為每個測試引擎執行個體產生背景工作角色記錄。
備註
Azure 負載測試只會在背景工作角色記錄中記錄具有 WARN 或 ERROR 層級的記錄訊息。 若要取得 DEBUG 記錄,請參閱以偵錯模式執行測試。
例如,如果您的測試指令碼發生問題,負載測試狀態會是 [失敗]。 在背景工作角色記錄中,您可能會發現問題原因的其他資訊。
若要下載 Azure 負載測試測試回合的背景工作角色記錄,請遵循下列步驟:
在 Azure 入口網站中,移至您的 Azure 負載測試資源。
選取 [測試] 以檢視測試清單,然後從清單中選取您的負載測試。
從測試回合清單,選取測試回合以檢視負載測試儀表板。
在儀表板上,選取 [下載],然後選取 [記錄]。
瀏覽器現在應該會開始下載壓縮資料夾,其中包含每個測試引擎執行個體的 JMeter 或 Locust 背景工作角色節點記錄檔。
您可以使用任何 ZIP 工具來擷取資料夾,並存取記錄檔。
worker.log 檔案可協助您診斷失敗負載測試的根本原因。 在螢幕擷取畫面中,您可以看到測試由於檔案遺失而失敗。
相關內容
- 了解如何匯出負載測試結果。
- 了解如何監視伺服器端應用程式計量。
- 了解如何取得 Azure App Service 型應用程式的詳細深入解析。
- 了解如何比較多個負載測試回合。