分享方式:


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

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

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

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

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

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

必要條件

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

判斷負載測試的結果

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

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

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

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

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

    Screenshot that shows the list of test runs in the Azure portal, highlighting the test result and test status columns.

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

    Screenshot that shows the load test dashboard, highlighting status information for a failed test.

診斷測試失敗

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

負載測試無法完成

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

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

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

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

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

負載測試已完成

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

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

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

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

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

注意

Azure 負載測試只會記錄背景工作記錄中具有 WARNERROR 層級的記錄訊息。

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

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

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

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

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

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

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

    Screenshot that shows how to download the test log files from the test run details page.

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

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

    Screenshot that shows the JMeter log file content.