共用方式為


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

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

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

  • 連續診斷 (預覽) 會以五秒間隔收集數據,並每隔五分鐘報告一次關於高資源使用量的可操作見解。
  • 隨選診斷 可協助您根據在單一時間點收集的數據,針對持續效能問題進行疑難解答,並提供更深入的數據、深入解析和建議。

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

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

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

注意

持續診斷(預覽版)正在逐漸推出,目前僅支援 Windows。 如果您的機器可以使用預覽功能,您會看到啟用隨選和連續診斷的選項,如在 VM 上安裝和執行效能診斷中所述

必要條件

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

注意

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

需要的權限

動作 需要的權限
檢視效能診斷深入解析和報告 Microsoft.Storage/storageAccounts/listKeys/action 記憶體帳戶的許可權,如內 建記憶體帳戶參與者 角色所提供。

受支援的作業系統

Windows

目前支援隨選和連續診斷的下列操作系統:

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

Linux

注意

本文所參考的 CentOS 是一種 Linux 發行版,且將到達生命周期結束(EOL)。 請據以考慮您的使用和規劃。 如需詳細資訊,請參閱 CentOS 生命週期結束指引

目前支持隨選診斷的下列散發套件:

注意

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

Distribution 版本
Oracle Linux Server 6.10 [*], 7.3, 7.5, 7.6, 7.7, 7.8, 7.9
CentOS 6.5 [*], 7.6, 7.7, 7.8, 7.9
RHEL 7.2、7.5、8.0 [*]、8.1、8.2、8.6、8.8
Ubuntu 14.04, 16.04, 18.04, 20.04, 22.04
Debian 8, 9, 10, 11 [*]
SLES 12 SP4 [], 12 SP5 [*], 15 [**], 15 SP1 [*], 15 SP2 [*], 15 SP4 [*]
AlmaLinux 8.4, 8.5
Azure Linux 2.0

注意

[*] 請參閱 已知問題

在您的 VM 上安裝和執行效能診斷

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

若要安裝和執行效能診斷:

  1. Azure 入口網站 中,選取 [虛擬機]。

  2. 從 VM 名稱清單中,選取您要執行診斷的 VM。

  3. 在 [說明] 區段中,選取 [效能診斷]。

    Azure 入口網站 的螢幕快照,其中已醒目提示 [安裝效能診斷] 按鈕。

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

  5. 選取要安裝並執行工具的選項。

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

    下表描述可用的選項:

    選項 描述
    啟用連續診斷 取得高資源使用量的持續、可採取動作的深入解析,並收集每 5 秒收集的數據,並每隔 5 分鐘上傳一次更新,以及時解決效能問題。 將深入解析儲存在您慣用的記憶體帳戶中。 記憶體帳戶會根據帳戶保留原則保留深入解析,您可以設定此原則以 有效管理數據生命週期。 您可以隨時停用連續診斷。
    執行隨選診斷 取得高資源使用量和各種系統組態的隨選、可採取動作的深入解析。 接收可下載的報告,其中包含完整的診斷數據,以解決效能問題。 將深入解析和報表儲存在您慣用的記憶體帳戶中。 記憶體帳戶會根據帳戶保留原則保留深入解析,您可以設定此原則以 有效管理數據生命週期。 您可以隨時使用您需要的特定分析類型來起始隨選診斷:
    • 效能分析
      包含快速分析案例中的所有檢查,並監視高資源耗用量。 使用此版本針對一般效能問題進行疑難解答,例如高 CPU、記憶體和磁碟使用量。 此分析需要 30 秒到 15 分鐘,視選取的持續時間而定。 深入瞭解 WindowsLinux
    • 快速分析
      檢查已知問題、分析最佳做法,以及收集診斷數據。 此分析需要幾分鐘的時間才能執行。 深入瞭解 WindowsLinux
    • 進階效能分析 [*]
      包含效能分析案例中的所有檢查,並收集一或多個追蹤,如下列各節所列。 使用此案例針對需要更多追蹤的複雜問題進行疑難解答。 長時間執行此案例會增加診斷輸出的整體大小,視 VM 的大小和選取的追蹤選項而定。 此分析需要 30 秒到 15 分鐘才能執行,視選取的持續時間而定。 深入了解
    • Azure 檔案分析 [*]
      包含效能分析案例中的所有檢查,並擷取網路追蹤和SMB計數器。 使用此案例來針對 Azure 檔案的效能進行疑難解答。 此分析需要 30 秒到 15 分鐘才能執行,視選取的持續時間而定。 深入了解
    儲存體帳戶 或者,如果您想要使用單一儲存體帳戶來儲存多個 VM 的效能診斷結果,您可以從下拉式清單中選取記憶體帳戶。 如果您未指定記憶體帳戶,效能診斷會使用預設診斷記憶體帳戶,或建立新的儲存體帳戶。

    注意

    [*] 只有在 Windows 上才支持這些分析案例。

  6. 檢閱法律條款和隱私策略,然後選取對應的複選框來確認(必要)。

    若要安裝和執行效能診斷,您必須同意法律條款並接受隱私策略。

  7. 選取 [ 用] 以套用選取的選項並安裝此工具。

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

檢視深入解析和報表

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

持續效能診斷 隨選效能診斷
可用性 目前僅支援 Windows VM 支援 Windows 和 Linux VM
產生的深入解析 對高資源使用量的持續可採取動作深入解析,例如高 CPU、高記憶體和高磁碟使用量 隨選可採取動作的深入解析,瞭解高資源使用量和各種系統設定
資料收集頻率 每隔 5 秒收集數據一次,每 5 分鐘上傳一次更新 視需要收集隨選執行期間的數據
產生的報表 不會產生報表 產生具有完整診斷數據的報告

檢視效能診斷深入解析

[ 效能診斷深入解析 ] 索引卷標會列出所選時段的深入解析。 每個數據列都會提供深入解析、其影響層級、類別和相關建議。 選取 [ 重新 整理] 以檢視新產生的連續診斷深入解析。

使用篩選依時間戳、影響、類別或診斷類型擷取深入解析。

[效能診斷] 畫面上 [深入解析] 索引卷標的螢幕快照。

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

效能診斷深入解析詳細數據畫面的螢幕快照。

分別選取 [檢視 ] 或 [下載],以檢視或下載清單中的隨選深入解析效能診斷報告。 如需詳細資訊,請參閱 下載並檢閱完整的效能診斷報告

使用群組下拉式清單來分組或取消群組深入解析。 您可以依類別、深入解析或建議依需求和持續深入解析分組。

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

檢視效能診斷報告

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

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

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

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

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

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

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

注意

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

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

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

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

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

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

注意

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

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

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

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

若要檢視這些檔案:

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

  2. 選取 [儲存體瀏覽器]

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

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

    深入解析包括:

    • 執行的所有深入解析和相關信息。
    • 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. 選取 [ 設定 ] 工具列按鈕,以變更儲存診斷見解和輸出的記憶體帳戶。

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

    這會開啟 [ 效能診斷設定 ] 畫面。

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

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

卸載效能診斷

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

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

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

常見問題集

如何? 與 Microsoft 客戶支援共用此數據?

當您使用 Microsoft 開啟支援票證時,請務必從隨選效能診斷執行共用效能診斷報告。 Microsoft CSS 聯繫人會為您提供將隨選效能診斷報告上傳至工作區的選項。 有兩種方式可以下載隨選效能診斷報告,以與 Microsoft CSS 共用:

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

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

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

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

隨選效能診斷執行有兩個階段:

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

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

當我跨區域移動 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 意見反應社群提交產品意見反應。