共用方式為


使用效能診斷對 Azure 虛擬機上的效能問題進行疑難解答

適用於:✔️ Linux VM ✔️ Windows VM

您可以使用效能診斷工具,以下列兩種模式之一識別 Azure 虛擬機器 (VM) 上的效能問題並進行疑難解答:

  • 連續診斷 (預覽) 會以五秒間隔收集數據,並每隔五分鐘報告一次關於高資源使用量的可操作見解。 持續診斷(預覽版)目前僅支援 Windows。
  • 隨選診斷 可協助您針對持續效能問題進行疑難解答,方法是提供更深入的數據、深入解析和建議,這些建議是以一次收集的數據為基礎。 Windows 和 Linux 都支援隨選診斷。

效能診斷會將所有深入解析和報告儲存在記憶體帳戶中,您可以設定短期數據保留,以將成本降至最低。

直接從 Azure 入口網站 執行效能診斷,您也可以檢閱各種記錄、豐富組態和診斷數據的深入解析和報告。 建議您先執行 Performance Diagnostics,並檢閱深入解析和診斷資料,然後再與 Microsoft 支援服務連絡。

本文說明如何使用效能診斷,以及持續和隨選模式提供的內容。

注意

持續診斷(預覽版)目前僅支援 Windows。 在 Windows VM 上,您會看到啟用隨選和持續診斷的選項。 在 Linux VM 上,您會看到啟用隨選診斷的選項。 如需詳細資訊,請參閱 在您的 VM 上安裝和執行效能診斷。

必要條件

  • 若要在 Windows 上執行連續和隨選診斷,您需要 安裝 .NET SDK 4.5 版或更新版本。

注意

若要在傳統 VM 上執行效能診斷,請參閱 Azure 效能診斷 VM 擴充功能

需要的權限

動作 需要的權限
執行效能診斷 VM 上的擁有者角色,以及包含Microsoft.Storage/storageAccounts/listkeys/action記憶體帳戶許可權的 Azure 角色。
檢視效能診斷 Azure 角色,其中包含 Microsoft.Storage/storageAccounts/listkeys/action 記憶體帳戶的許可權,或 記憶體帳戶上的記憶體數據表數據讀取器 角色。
下載效能診斷報告 Azure 角色,其中包含 Microsoft.Storage/storageAccounts/listkeys/action 記憶體帳戶上的 或 記憶體帳戶上的記憶體 Blob 數據讀取者 角色。

如需 Azure 儲存體 內建角色的詳細資訊,請參閱適用於記憶體的 Azure 內建角色。

受支援的作業系統

Windows

目前支援隨選和持續診斷的作業系統如下:

  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012 R2
  • Windows Server 2012
  • Windows 11
  • Windows 10

Linux

下列發行版目前支援隨選診斷。

注意

Microsoft只測試數據表中列出的版本。 如果數據表中未列出版本,則不會透過Microsoft明確測試版本,但仍可能正常運作。

發佈 版本
Oracle Linux Server 6.10 [*], 7.3, 7.5, 7.6, 7.7, 7.8, 7.9
RHEL 7.4、7.5、7.6、7.7、7.8、7.9、8.0 [*]、8.1、8.2、8.4、8.5、8.6、8.7、8.8、8.9
Ubuntu 16.04, 18.04, 20.04, 22.04
Debian 9, 10, 11 [*]
SLES 12 SP5 [], 15 SP1 [**], 15 SP2 [*], 15 SP3 [*], 15 SP4 [*], 15 SP5 [*], 15 SP6 [*]
AlmaLinux 8.4, 8.5
Azure Linux 2.0

注意

[*] 請參閱 已知問題

在虛擬機器安裝和執行 Performance Diagnostics

Performance Diagnostics 會安裝執行診斷工具的 VM 擴充功能,稱為 PerfInsights。 PerfInsights 適用於 WindowsLinux

視疑難解答工作流程而定,您可以從 Azure 入口網站 中的三個不同位置安裝效能診斷工具。 從您的虛擬機器,移至:

  • [監視] 索引標籤→概觀
  • [深入解析 →效能] 索引標籤
  • 效能診斷

選取下列其中一個索引標籤以取得詳細指示。

注意

若要執行效能診斷,請確定您擁有所有必要的 許可權

  1. Azure 入口網站 中,開啟 [虛擬機],然後選取您要執行診斷的 VM。

  2. 在左側導覽功能表中,展開 [說明 ] 區段,然後選取 [ 效能診斷]。

  3. 選取 [ 啟用效能診斷]

    顯示醒目提示 [啟用效能診斷] 按鈕之 [Azure 入口網站] 中 [效能診斷] 窗格的螢幕快照。

  1. 選取要安裝和執行此工具的選項。 下表描述可用的選項。

    [安裝和執行效能診斷] 內容窗格的螢幕快照。選取 [啟用持續診斷] 和 [執行隨選診斷] 選項。

    選項 描述
    啟用連續診斷 藉由每隔 5 秒收集數據並每隔 5 分鐘上傳一次更新,以及時解決效能問題,以取得高資源使用量的持續、可採取動作的深入解析。 將深入解析儲存在您慣用的儲存體帳戶。 記憶體帳戶會根據您可以設定以 有效管理數據生命週期的帳戶保留原則來保留見解。 您可以隨時停用連續診斷。
    執行隨選診斷 針對高資源使用狀況和各種系統設定,取得可據以採取行動的隨選深入解析。 接收可下載的報告,以提供完整的診斷數據來解決效能問題。 將深入解析與報表儲存在慣用的儲存體帳戶。 記憶體帳戶會根據您可以設定的 帳戶保留原則來有效管理數據生命週期,保留見解。 您可以使用您需要的特定分析類型,隨時起始隨選診斷:
    • 效能分析
      包含快速分析案例中的所有檢查,並監視高資源耗用量。 使用此版本針對一般效能問題進行疑難解答,例如高 CPU、記憶體和磁碟使用量。 此分析需要 30 秒到 15 分鐘才能執行,視選取的持續時間而定。 深入瞭解 WindowsLinux

    • 快速分析
      檢查已知問題、分析最佳做法,以及收集診斷數據。 此分析需要幾分鐘的時間才能執行。 深入瞭解 WindowsLinux

    • 進階效能分析 [僅限 Windows]
      包含效能分析案例中的所有檢查,並收集一或多個追蹤,如下列各節所列。 使用此案例針對需要更多追蹤的複雜問題進行疑難解答。 長時間執行此案例會增加診斷輸出的整體大小,視 VM 的大小和選取的追蹤選項而定。 此分析需要 30 秒到 15 分鐘才能執行,視選取的持續時間而定。 深入了解

    • Azure 檔案分析 [僅限 Windows]
      包含效能分析案例中的所有檢查,並擷取網路追蹤和伺服器消息塊 (SMB) 計數器。 使用此案例來針對 Azure 檔案的效能進行疑難解答。 此分析需要 30 秒到 15 分鐘才能執行,視選取的持續時間而定。 深入了解
    儲存體帳戶 或者,如果您想要使用單一儲存體帳戶來儲存多個 VM 的效能診斷結果,您可以從下拉功能表中選取記憶體帳戶。 如果您未指定儲存體帳戶,Performance Diagnostics 會使用預設的診斷儲存體帳戶,或是建立新的儲存體帳戶。
  2. 檢閱法律條款和隱私策略,然後選取對應的複選框來確認接受(必要)。

    注意

    若要安裝及執行 Performance Diagnostics,您必須同意法律條款並接受隱私權原則。

  3. 選取 [套用]即可套用選取的選項並安裝工具。

    Performance Diagnostics 開始安裝的通知隨即顯示。 安裝完成之後,第二個通知會指出安裝成功。 如果選取 [ 執行隨選診斷 ] 選項,則會在指定的持續時間內執行選取的效能分析案例。

檢視深入解析與報表

下表會比較連續和隨選效能診斷所提供的數據。 如需所有所收集診斷數據的完整清單,請參閱 WindowsLinux 上的 PerfInsights 所收集的資訊種類。

持續 Performance Diagnostics 隨選 Performance Diagnostics
可用性 目前僅支援 Windows 虛擬機器 支援 Windows 和 Linux 虛擬機器
產生的深入解析 針對高資源使用狀況之可據以採取行動的持續深入解析,例如高 CPU、高記憶體和高磁碟使用量 針對高資源使用狀況和各種系統設定,可據以採取行動的隨選深入解析
資料收集頻率 每隔 5 秒收集數據一次,每 5 分鐘上傳一次更新 收集隨選執行所選持續時間的數據
產生的報表 不產生報表 產生具有完整診斷數據的報表

檢視效能診斷深入解析

視疑難解答工作流程而定,您可以從 Azure 入口網站 中的三個不同位置檢視效能診斷深入解析。 從您的虛擬機器,移至:

  • [監視] 索引標籤→概觀
  • [深入解析 →效能] 索引標籤
  • 效能診斷

選取下列其中一個索引標籤以取得詳細指示。

注意

若要檢視效能診斷,請確定您擁有所有必要的 許可權

  1. Azure 入口網站 中,開啟 [虛擬機],然後選取您檢視診斷的 VM。

  2. 在左側導覽功能表中,展開 [說明 ] 區段,然後選取 [ 效能診斷]。

  3. [ 效能診斷深入解析] 索引標籤 預設為使用中。

    效能診斷深入解析下 的每一個數據列都會列出深入解析 、其影響層級、類別和相關建議。 使用篩選依時間戳、影響、類別或診斷類型擷取深入解析。

    Azure 入口網站 中效能診斷體驗的螢幕快照。

  4. 選取資料列以開啟 [效能診斷深入解析詳細數據] 操作功能表。 如需詳細資訊,請參閱下列章節。

檢視詳細數據並下載報告

[ 效能診斷深入解析] 詳細 數據操作功能表會顯示其他資訊,例如有關該做什麼的建議,以及相關文件的連結。 針對隨選深入解析,您也可以選取 [檢視所有深入解析] 或 [下載報告],以檢視或下載清單中的效能診斷報告 如需詳細資訊,請參閱 下載並檢閱完整的效能診斷報告

效能診斷體驗上詳細數據畫面的螢幕快照。

注意

效能診斷體驗提供其他選項來分組或取消群組深入解析。 您可以依類別、深入解析或建議依需求和持續深入解析分組。

[效能診斷] 畫面上 [深入解析] 索引卷標的螢幕快照,其中顯示依深入解析分組的結果。

檢視效能診斷報告

注意

若要下載效能診斷報告,請確定您擁有所有必要的 許可權

[ 效能診斷報告] 索引標籤僅適用於 [效能診斷 ] 體驗。 它會列出執行的所有隨選診斷報告。 此清單會指出已執行的分析類型、找到的深入解析,以及其影響層級。

從 [效能診斷] 畫面選取診斷報告的螢幕快照。

選取數據列以檢視更多詳細數據。

效能診斷報告概觀畫面的螢幕快照。

效能診斷報告可能包含數個深入解析。 每個深入解析都包含建議。

[影響] 數據行會根據其他使用者報告的設定錯誤、已知問題或問題等因素,指出效能問題的潛在影響層級。。 您可能尚未遇到一或多個列出的問題。 例如,您可能在同一個數據磁碟上有 SQL 記錄檔和資料庫檔案。 如果資料庫使用量很高,則此狀況有很高的瓶頸和其他效能問題。 不過,如果使用量很低,您可能不會注意到問題。

選取 [ 下載報告] 按鈕以下載 HTML 報告 ,其中包含更豐富的診斷資訊,例如記憶體和網路設定、性能計數器、追蹤、進程清單和記錄。 內容取決於選取的分析。 針對進階疑難解答,報表可能包含與高 CPU 使用量、高磁碟使用量,以及耗用過多記憶體的進程相關的其他資訊和互動式圖表。 如需效能診斷報告的詳細資訊,請參閱 WindowsLinux

注意

您可以在產生效能診斷之後的 30 天內,從 [效能診斷] 畫面下載效能診斷 報告。 30 天后,您可能會在從 [效能診斷 ] 畫面下載報告時收到錯誤訊息。 若要在 30 天后取得報表,請移至記憶體帳戶,然後從名為 azdiagextnresults 的二進位大型物件 (BLOB) 容器下載報表。 您可以使用工具列上的 [設定] 按鈕來檢視記憶體帳戶資訊

檢視和管理記憶體帳戶及儲存的數據

效能診斷會將所有深入解析和報告儲存在記憶體帳戶中,您可以 設定短期數據保留 ,以將成本降至最低。

若要確保效能診斷功能正確,您必須啟用 記憶體帳戶的 [允許記憶體帳戶密鑰存取 ] 設定。 若要啟用此設定,請遵循下列步驟:

  1. 瀏覽至您的儲存體帳戶。
  2. 在記憶體帳戶設定中,找出 [ 組態 ] 區段。
  3. 尋找 [ 允許記憶體帳戶密鑰存取 ] 選項,並將其設定為 [已啟用]。
  4. 儲存您的變更。

對於使用效能診斷的多個 VM,您可以使用相同的記憶體帳戶。 當您變更記憶體帳戶時,不會刪除舊的報表和深入解析。 不過,它們不會再顯示在診斷報告清單中。

注意

效能診斷會將深入解析儲存在 Azure 數據表中,並將報表儲存在二進位大型物件 (BLOB) 容器中。

如果您的記憶體帳戶使用 私人端點,請確定效能診斷可以將深入解析和報告儲存在記憶體帳戶中:

  1. 為數據表和 BLOB 建立個別的私人端點。
  2. 將 DNS 組態新增至每個個別的私人端點。

檢視帳戶中儲存的診斷數據

注意

若要檢視診斷數據,請確定您擁有所有必要的 許可權

若要檢視診斷數據:

  1. 瀏覽至您的儲存體帳戶。

  2. 在左側導覽功能表中,選取 [記憶體瀏覽器]。

    記憶體帳戶畫面的螢幕快照,其中顯示效能診斷深入解析和報告檔案。

    效能診斷會將報表儲存在名為 azdiagextnresults 的二進位大型物件 (BLOB) 容器中,以及數據表中的深入解析。 深入解析包括:

    • 執行的所有深入解析和相關信息
    • Windows 上的輸出壓縮 (.zip) 檔案(名為 PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip),以及 Linux 上包含記錄檔的 tar 檔案 (名為 PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz
    • HTML 報表
  3. 若要下載報表,請選取 [Blob 容器>azdiagextnresults>><report name>Download]。

變更記憶體帳戶

若要變更儲存診斷深入解析和輸出的記憶體帳戶:

  1. 在 Azure 入口網站 中,開啟 VM 的效能診斷體驗。

  2. 在頂端工具列中,選取 [ 設定 ] 以開啟 [效能診斷設定 ] 畫面。

    [效能診斷] 畫面工具列的螢幕快照,其中顯示醒目提示的 [設定] 按鈕。

  3. 選取 [變更記憶體帳戶 ] 以選取不同的記憶體帳戶。

    [效能診斷設定] 畫面的螢幕快照,您可以變更記憶體帳戶。

卸載效能診斷

從 VM 卸載效能診斷會移除 VM 擴充功能,但不會影響記憶體帳戶中的任何診斷數據。

若要卸載效能診斷,請選取工具列上的 [ 卸載 ] 按鈕。

[效能診斷] 畫面工具列的螢幕快照,其中顯示醒目提示 [卸載] 按鈕。

常見問題集

如何? 與 Microsoft 支援服務 共用此資料嗎?

當您使用 Microsoft 開啟支援票證時,請務必從隨選效能診斷執行共用效能診斷報告。 Microsoft 支援服務 聯繫人提供將隨選效能診斷報告上傳至工作區的選項。 使用下列任一方法來下載隨選效能診斷報告:

選項 1:從 [效能診斷] 刀鋒視窗下載報告,如檢視效能診斷報告中所述

選項 2:從記憶體帳戶下載報告,如檢視和管理記憶體帳戶及儲存的數據中所述

如何? 正確時間擷取診斷數據?

建議您執行持續效能診斷,以持續擷取 VM 診斷數據。

隨選效能診斷執行具有下列階段:

  • 安裝或更新效能診斷 VM 擴充功能
  • 執行指定持續時間的診斷

目前,無法確切地知道 VM 擴充功能安裝完成的時間。 安裝 VM 擴充功能大約需要 45 秒到 1 分鐘。 安裝 VM 擴充功能之後,您可以執行重現步驟,讓隨選效能診斷擷取正確的數據集以進行疑難解答。

如果我跨區域移動 Azure VM,效能診斷會繼續運作嗎?

Azure VM 和相關網路和記憶體資源可以使用 Azure Resource Mover 跨區域移動。 不過,不支援跨區域移動 VM 擴充功能,包括 Azure 效能診斷 VM 擴充功能。 移動 VM 之後,您必須在目標區域中的 VM 上手動安裝擴充功能。 如需詳細資訊,請參閱 在 Azure 區域之間移動 Azure VM 的支援矩陣。

啟用持續效能診斷的效能影響為何?

我們在各種 Windows OS 版本、大小和 CPU 負載的 Azure VM 上執行了 12 小時的持續效能診斷測試。

下表中顯示的測試結果顯示,「持續效能診斷」藉由對系統資源產生最少的影響,提供寶貴的見解。

作業系統版本 VM 大小 CPU 負載 平均 CPU 使用量 第90個百分位數CPU使用量 第99個百分位數CPU使用量 記憶體使用量
Windows Server 2019 B2s、A4V2、D5v2 20%, 50%, 80% <0.5% 2% 3% 42-43 MB
Windows Server 2016 SQL B2s、A4V2、D5v2 20%, 50%, 80% <0.5% 2% 3% 42-43 MB
Windows Server 2019 B2s、A4V2、D5v2 20%, 50%, 80% <0.5% 2% 3% 42-43 MB
Windows Server 2022 B2s、A4V2、D5v2 20%, 50%, 80% <0.5% <0.5% 3% 42-43 MB

記憶體成本的後盾計算

持續效能診斷會將深入解析儲存在數據表中,並將 JSON 檔案儲存在 BLOB 容器中。 假設每個數據列大約是 0.5 KB(KB),而且報表在壓縮前大約是 9 KB,每五分鐘兩個數據列加上對應的報表上傳等於 10 KB 或 0.00001 GB。

若要計算記憶體成本:

  • 每個月的數據列:17,280
  • 每個數據列的大小:0.00001 GB

數據大小總計: 17,280 x 0.000001 = 0.1728 GB

數據儲存成本: $0.1728 x $0.045 = $0.007776

因此,假設 VM 有穩定的壓力,假設您使用本地備援記憶體,記憶體成本估計每月小於 1%。

與我們連絡,以取得說明

如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以向 Azure 意見反應社群提交產品意見反應。