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