共用方式為


診斷 Azure 負載測試中的失敗負載測試

在本文中,您會了解如何診斷和疑難排解 Azure 負載測試中的載入測試失敗。 Azure 負載測試提供數個選項來識別失敗負載測試的根本原因。 例如,您可以使用負載測試儀表板,或下載測試結果或測試記錄檔以進行深入分析。 或者,設定伺服器端計量來識別應用程式端點的問題。

Azure 負載測試會使用兩個指標來判斷負載測試結果:

  • 測試狀態:指出負載測試是否能夠成功啟動,並執行測試指令碼直到結束為止。 例如,如果 JMeter 或 Locust 測試指令碼發生錯誤,或自動停止接聽程式中斷負載測試,則測試狀態為失敗

  • 測試結果:指出評估測試失敗準則的結果。 如果至少符合其中一個測試失敗準則,測試結果會設定為失敗

根據指標,您可以使用不同的方法來識別測試失敗的根本原因。

先決條件

  • 具有有效訂閱的 Azure 帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶
  • 具有已完成測試回合的 Azure 負載測試資源。 如果您需要建立 Azure 負載測試資源,請參閱建立和執行負載測試

判斷負載測試的結果

使用下列步驟來取得負載測試的結果:

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

  2. 在左窗格中選取 [測試] 以檢視測試清單。

  3. 從清單中選取測試,以檢視該測試的所有測試回合。

    測試回合清單會顯示測試結果測試狀態欄位。

    顯示 Azure 入口網站中測試回合清單的螢幕擷取畫面,其中醒目提示測試結果和測試狀態資料行。

  4. 或者,選取測試回合以檢視測試回合的負載測試儀表板。

    顯示負載測試儀表板的螢幕擷取畫面,其中醒目提示失敗測試的狀態資訊。

診斷測試失敗

您可以使用不同的方法來根據 Azure 負載測試是否能夠執行和完成測試指令碼來診斷負載測試失敗。

負載測試無法完成

當負載測試無法完成時,測試回合的測試狀態會設定為 [失敗]

負載測試可能會因為多個原因而無法完成。 負載測試未完成的範例:

  • 測試指令碼中有錯誤。
  • 測試指令碼會使用 Azure 負載測試不支援的 JMeter 功能。 了解支援的 JMeter 功能
  • 測試指令碼會參考測試引擎執行個體上無法使用的檔案或外掛程式。
  • 自動停止功能中斷負載測試,因為要求太多而失敗,錯誤率超過臨界值。 深入了解 Azure 負載測試中的自動停止功能

使用下列步驟來協助診斷未完成的測試:

  1. 確認負載測試儀表板上的錯誤詳細資料。
  2. 下載並分析測試記錄,以識別 JMeter 測試指令碼中的問題。
  3. 下載測試結果,以找出個別要求的問題。

您也可以在測試完成後查看基於 AI 的錯誤分析見解。 產生的見解包含錯誤原因和更多可操作的建議。 此功能預設開啟,且可在錯誤刀鋒視窗設定中關閉。 請參閱 Microsoft 隱私聲明

備註

同意使用以 AI 為基礎的錯誤深入解析,即表示您同意 AI 將使用測試執行的記錄檔來產生建議。

負載測試已完成

負載測試可能會在結束前執行測試指令碼 (測試狀態等於完成),但可能不會通過所有測試失敗準則。 如果至少有測試準則未通過,測試回合測試結果會設定為失敗

使用下列步驟來協助診斷測試失敗,以符合測試準則:

  1. 在負載測試儀表板中檢閱測試失敗準則
  2. 檢閱負載測試儀表板中的取樣器統計資料,以進一步識別測試指令碼中的哪些要求可能會導致問題。
  3. 在負載測試儀表板中檢閱用戶端計量。 您可以選擇性地使用篩選控制件來篩選特定要求的圖表。
  4. 下載測試結果,以取得個別要求的錯誤資訊。
  5. 確認測試引擎健康情況計量,以識別測試引擎上可能的資源競爭。
  6. 選擇性地,新增應用程式元件並監視伺服器端計量,以識別應用程式端點的效能瓶頸。

下載負載測試的 Apache JMeter 或 Locust 背景工作角色記錄

當您執行負載測試時,Azure 負載測試的測試引擎會執行 Apache JMeter 或 Locust 測試指令碼。 在負載測試進行期間,Apache JMeter 和 Locust 會將詳細的記錄儲存在背景工作角色節點記錄中。 您可以在 Azure 入口網站中下載每個測試回合的背景工作角色記錄。 Azure 負載測試會為每個測試引擎執行個體產生背景工作角色記錄。

備註

Azure 負載測試只會在背景工作角色記錄中記錄具有 WARNERROR 層級的記錄訊息。 若要取得 DEBUG 記錄,請參閱以偵錯模式執行測試

例如,如果您的測試指令碼發生問題,負載測試狀態會是 [失敗]。 在背景工作角色記錄中,您可能會發現問題原因的其他資訊。

若要下載 Azure 負載測試測試回合的背景工作角色記錄,請遵循下列步驟:

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

  2. 選取 [測試] 以檢視測試清單,然後從清單中選取您的負載測試。

  3. 從測試回合清單,選取測試回合以檢視負載測試儀表板。

  4. 在儀表板上,選取 [下載],然後選取 [記錄]

    瀏覽器現在應該會開始下載壓縮資料夾,其中包含每個測試引擎執行個體的 JMeter 或 Locust 背景工作角色節點記錄檔。

    顯示如何從 [測試回合詳細資料] 頁面下載測試記錄檔的螢幕擷取畫面。

  5. 您可以使用任何 ZIP 工具來擷取資料夾,並存取記錄檔。

    worker.log 檔案可協助您診斷失敗負載測試的根本原因。 在螢幕擷取畫面中,您可以看到測試由於檔案遺失而失敗。

    顯示 JMeter 記錄檔內容的螢幕擷取畫面。