從 Azure 負載測試匯出測試結果,以用於協力廠商工具中
在本文中,您將瞭解如何匯出 Azure 負載測試測試結果和報告。 您可以使用 Azure 入口網站、CI/CD 工作流程中的成品、在 JMeter 中使用後端接聽程式,或從 Azure 儲存體帳戶複製結果,來下載結果。 您可以使用這些結果來報告第三方工具或診斷測試失敗。 Azure 負載測試會以逗號分隔值 (CSV) 檔案格式產生測試結果,並提供負載測試每個應用程式要求的詳細資料。
您也可以在負載測試期間使用測試結果來診斷錯誤。 responseCode
和 responseMessage
欄位提供失敗要求的詳細資訊。 如需調查錯誤的詳細資訊,請參閱診斷失敗的負載測試。
您可以遵循此處所述的步驟,從 CSV 記錄檔產生 Apache JMeter 儀表板。
您也可以將 Azure 負載測試結果儀錶板下載為 HTML 報表,以進行脫機檢視和共同作業。
必要條件
- 具有有效訂用帳戶的 Azure 帳戶。 如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶。
- 具有已完成測試回合的 Azure 負載測試資源。 如果您需要建立 Azure 負載測試資源,請參閱建立和執行負載測試。
測試結果檔案格式
Azure 負載測試會為每個測試引擎執行個體產生測試結果 CSV 檔案。 了解如何擴增負載測試。
Azure 負載測試使用 Apache JMeter CSV 記錄格式。 如需不同欄位的詳細資訊,請參閱 Apache JMeter 文件中的 JMeter 詞彙。
您可以在測試結果檔案中找到負載測試回合每個應用程式要求的詳細資料。 下列片段顯示範例測試結果:
timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,URL,Latency,IdleTime,Connect
1676040230680,104,Homepage,200,OK,172.18.33.7-Thread Group 1-5,text,true,,1607,133,5,5,https://www.example.com/,104,0,100
1676040230681,101,Homepage,200,OK,172.18.33.7-Thread Group 1-3,text,true,,1591,133,5,5,https://www.example.com/,101,0,93
1676040230680,101,Homepage,200,OK,172.18.33.7-Thread Group 1-1,text,true,,1591,133,5,5,https://www.example.com/,98,0,94
存取和下載負載測試結果和報告
負載測試回合完成之後,您可以透過 Azure 入口網站 存取和下載負載測試結果和 HTML 報告,或做為 CI/CD 工作流程中的成品。
重要
對於超過 45 個引擎執行個體或大於 3 小時測試回合持續時間的負載測試,結果檔案無法下載。 您可以設定 JMeter 後端接聽程式,將結果匯出至您選擇的資料存放區,或從儲存體帳戶容器複製結果。 對於取樣器大於 30 的測試,下載的 HTML 報表只會有所有取樣器匯總數據的圖表。 圖形不會顯示取樣器明智的數據。 此外,下載的報表不支持對應至伺服器端計量的圖表。
若要在 Azure 入口網站 中下載測試回合的測試結果和 HTML 報告:
在 Azure 入口網站中,移至您的 Azure 負載測試資源。
在左窗格上,選取 [測試] 以檢視測試清單,然後選取您的測試。
提示
若要限制清單中顯示的測試數目,您可以使用搜尋方塊和時間範圍篩選條件。
您可以使用下列其中一種方式,將測試結果檔案下載為 ZIP 資料夾:
在您正在使用的負載測試回合旁選取省略號 (...),然後選取 [下載結果檔案]。
注意
負載測試回合必須具有「已完成」、「已停止」或「失敗」狀態,才可以下載結果檔案。
選取 [測試回合詳細數據] 窗格上的 [下載]。 若要下載結果,請選取 [ 結果]。 若要下載 HTML 報表,請選取 [ 報表]。
您可以使用任何 zip 工具來擷取資料夾並存取下載的檔案。
結果資料夾包含每個測試引擎的個別 CSV 檔案,並包含測試引擎在負載測試期間執行的要求詳細數據。
報表資料夾包含 HTML 檔案,提供測試回合的摘要,以及用於離線檢視和共同作業之效能計量的圖表。
使用 JMeter 後端接聽程式匯出測試結果
您可以使用 JMeter 後端接聽程式,將測試結果匯出至 InfluxDB、MySQL 等資料庫,或 Azure Application Insights 等監視工具。
您可以使用預設的 JMeter 後端接聽程式、來自 jmeter-plugins.org 的後端接聽程式,或 Java 封存 (JAR) 檔案形式的自訂後端接聽程式。
下列程式碼片段顯示如何在 JMeter 檔案 (JMX) 中使用 Azure Application Insights 的後端接聽程式範例:
<BackendListener guiclass="BackendListenerGui" testclass="BackendListener" testname="Backend Listener" enabled="true">
<elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
<collectionProp name="Arguments.arguments">
<elementProp name="testName" elementType="Argument">
<stringProp name="Argument.name">testName</stringProp>
<stringProp name="Argument.value">jmeter</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="connectionString" elementType="Argument">
<stringProp name="Argument.name">connectionString</stringProp>
<stringProp name="Argument.value">Enter your AppInsights connection string</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="liveMetrics" elementType="Argument">
<stringProp name="Argument.name">liveMetrics</stringProp>
<stringProp name="Argument.value">true</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="samplersList" elementType="Argument">
<stringProp name="Argument.name">samplersList</stringProp>
<stringProp name="Argument.value"></stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="useRegexForSamplerList" elementType="Argument">
<stringProp name="Argument.name">useRegexForSamplerList</stringProp>
<stringProp name="Argument.value">false</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="logResponseData" elementType="Argument">
<stringProp name="Argument.name">logResponseData</stringProp>
<stringProp name="Argument.value">OnFailure</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="logSampleData" elementType="Argument">
<stringProp name="Argument.name">logSampleData</stringProp>
<stringProp name="Argument.value">OnFailure</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
</collectionProp>
</elementProp>
<stringProp name="classname">io.github.adrianmo.jmeter.backendlistener.azure.AzureBackendClient</stringProp>
</BackendListener>
您可以下載完整的使用 Azure Application Insights 後端接聽程式範例。
從儲存體帳戶容器複製測試成品
重要
從儲存體帳戶容器複製測試成品,僅適用於有 45 個以上的引擎執行個體,或測試回合持續時間大於 3 小時的負載測試。
若要從儲存體帳戶複製測試回合的測試結果和記錄檔,請在 Azure 入口網站中:
在 Azure 入口網站中,移至您的 Azure 負載測試資源。
在左窗格上,選取 [測試] 以檢視測試清單,然後選取您的測試。
從測試回合清單中,選取您的測試回合。
提示
若要限制清單中顯示的測試數目,您可以使用搜尋方塊和時間範圍篩選條件。
在 [測試回合詳細資料] 窗格中,選取 [複製成品]。
注意
負載測試回合必須處於「已完成」、「已停止」或「失敗」狀態,才可以下載結果檔案。
複製儲存體帳戶容器的 SAS URL。
您可以使用 Azure 儲存體總管中的 SAS URL 或 AzCopy,將測試回合的結果 CSV 檔案和記錄檔複製到儲存體帳戶。
SAS URL 從產生時間開始 60 分鐘有效。 如果 URL 到期,請選取 [複製成品] 產生新的 SAS URL。
相關內容
- 深入了解診斷失敗的負載測試。
- 深入了解比較多個測試結果。
- 深入了解在 Azure Pipelines 中設定自動化效能測試。