使用效能診斷對 Azure 虛擬機上的效能問題進行疑難解答
適用於:✔️ Linux VM ✔️ Windows VM
使用 Performance Diagnostics 工具,以下列兩種模式之一識別 Azure 虛擬機器 (VM) 的效能問題,並進行疑難排解:
- 連續診斷 (預覽) 會以五秒間隔收集數據,並每隔五分鐘報告一次關於高資源使用量的可操作見解。 持續診斷(預覽版)目前僅支援 Windows。
- 隨選診斷 可協助您根據在單一時間點收集的數據,針對持續效能問題進行疑難解答,並提供更深入的數據、深入解析和建議。 Windows 和 Linux 都支援隨選診斷。
Performance Diagnostics 將所有深入解析和報表儲存於儲存體帳戶,而且若要將成本降至最低,將該帳戶設定為短期保留資料即可。
直接從 Azure 入口網站執行 Performance Diagnostics,而且從這裡還可檢閱各種記錄、豐富設定與診斷資料的深入解析和報表。 建議您先執行 Performance Diagnostics,並檢閱深入解析和診斷資料,然後再與 Microsoft 支援服務連絡。
本文說明如何使用效能診斷,以及持續和隨選模式提供的內容。
注意
持續診斷(預覽版)目前僅支援 Windows。 在 Windows VM 上,您會看到啟用隨選和持續診斷的選項。 在 Linux VM 上,您會看到啟用隨選診斷的選項。 如需詳細資訊,請參閱 在您的 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
目前支持隨選診斷的下列散發套件:
注意
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 適用於 Windows 和 Linux。
若要安裝與執行 Performance Diagnostics:
在 Azure 入口網站 中,選取 [虛擬機]。
從虛擬機器名稱清單中,選取您要執行診斷的虛擬機器。
在 [說明] 區段中,選取 [Performance Diagnostics]。
選取 [ 啟用效能診斷]
選取要為工具安裝及執行的選項。
下表描述可用的選項:
選項 描述 啟用持續診斷 利用每 5 秒收集一次的資料,以及每隔 5 分鐘上傳一次的更新,針對高資源使用狀況取得可據以採取行動的持續深入解析,並且及時解決效能問題。 將深入解析儲存在您慣用的儲存體帳戶。 記憶體帳戶會根據帳戶保留原則保留深入解析,您可以設定此原則以 有效管理數據生命週期。 您可以隨時停用連續診斷。 執行隨選診斷 針對高資源使用狀況和各種系統設定,取得可據以採取行動的隨選深入解析。 接收可下載的報表,內容包含全面的診斷資料,有助於解決效能問題。 將深入解析與報表儲存在慣用的儲存體帳戶。 記憶體帳戶會根據帳戶保留原則保留深入解析,您可以設定此原則以 有效管理數據生命週期。 您可以隨時使用您需要的特定分析類型來起始隨選診斷: - 效能分析
包含快速分析案例中的所有檢查,並監視高資源耗用量。 使用此版本針對一般效能問題進行疑難解答,例如高 CPU、記憶體和磁碟使用量。 此分析需要 30 秒到 15 分鐘,視選取的持續時間而定。 深入瞭解 Windows 或 Linux - 快速分析
檢查已知問題、分析最佳做法,以及收集診斷數據。 此分析需要幾分鐘的時間才能執行。 深入瞭解 Windows 或 Linux - 進階效能分析 [
*
]
包含效能分析案例中的所有檢查,並收集一或多個追蹤,如下列各節所列。 使用此案例針對需要更多追蹤的複雜問題進行疑難解答。 長時間執行此案例會增加診斷輸出的整體大小,視 VM 的大小和選取的追蹤選項而定。 此分析需要 30 秒到 15 分鐘才能執行,視選取的持續時間而定。 深入了解 - Azure 檔案分析 [
*
]
包含效能分析案例中的所有檢查,並擷取網路追蹤和SMB計數器。 使用此案例來針對 Azure 檔案的效能進行疑難解答。 此分析需要 30 秒到 15 分鐘才能執行,視選取的持續時間而定。 深入了解
儲存體帳戶 或者,如果您想用單一儲存體帳戶儲存多部虛擬機器的 Performance Diagnostics 結果,從下拉式清單選取儲存體帳戶即可。 如果您未指定儲存體帳戶,Performance Diagnostics 會使用預設的診斷儲存體帳戶,或是建立新的儲存體帳戶。 注意
[
*
] 只有在 Windows 上才支持這些分析案例。- 效能分析
檢閱法律條款和隱私權原則,然後選取相應的核取方塊確認 (必要)。
若要安裝及執行 Performance Diagnostics,您必須同意法律條款並接受隱私權原則。
選取 [套用] 即可套用選取的選項並安裝工具。
Performance Diagnostics 開始安裝的通知隨即顯示。 安裝完成之後,您會看到安裝成功的通知。 如果選取 [ 執行隨選診斷 ] 選項,則會在指定的持續時間內執行選取的效能分析案例。
檢視深入解析與報表
下表比較持續和隨選 Performance Diagnostics 所提供的資料。 如需所有所收集診斷數據的完整清單,請參閱 Windows 或 Linux 上的 PerfInsights 收集何種資訊?
持續 Performance Diagnostics | 隨選 Performance Diagnostics | |
---|---|---|
可用性 | 目前僅支援 Windows 虛擬機器 | 支援 Windows 和 Linux 虛擬機器 |
產生的深入解析 | 針對高資源使用狀況之可據以採取行動的持續深入解析,例如高 CPU、高記憶體和高磁碟使用量 | 針對高資源使用狀況和各種系統設定,可據以採取行動的隨選深入解析 |
資料收集頻率 | 每隔 5 秒收集一次資料,每隔 5 分鐘上傳一次更新 | 視需要收集選定之隨選執行期間的資料 |
產生的報表 | 不產生報表 | 產生有全面診斷資料的報表 |
檢視效能診斷深入解析
[ 效能診斷深入解析 ] 索引卷標會列出所選時段的深入解析。 每個數據列都會提供深入解析、其影響層級、類別和相關建議。 選取 [ 重新 整理] 以檢視新產生的連續診斷深入解析。
使用篩選依時間戳、影響、類別或診斷類型擷取深入解析。
選取數據列以檢視更多詳細數據。
分別選取 [檢視 ] 或 [下載],以檢視或下載清單中的隨選深入解析效能診斷報告。 如需詳細資訊,請參閱 下載並檢閱完整的效能診斷報告。
使用群組下拉式清單來分組或取消群組深入解析。 您可以依類別、深入解析或建議依需求和持續深入解析分組。
檢視效能診斷報告
[ 效能診斷報告] 索引標籤會列出執行的所有隨選診斷報告。 此清單會指出已執行的分析類型、找到的深入解析,以及其影響層級。
選取數據列以檢視更多詳細數據。
每個效能診斷報告可能包含數個深入解析,而每個深入解析都包含建議。
[影響] 數據行會根據其他用戶回報的錯誤設定、已知問題或問題等因素,指出效能問題的潛在影響層級。 您可能尚未遇到一或多個列出的問題。 例如,您可能在同一個數據磁碟上有 SQL 記錄檔和資料庫檔案。 如果資料庫使用量很高,則此狀況有很高的瓶頸和其他效能問題,而如果使用量很低,您可能會注意到問題。
選取 [ 下載報告] 按鈕以下載 HTML 報告 ,其中包含更豐富的診斷資訊,例如記憶體和網路設定、性能計數器、追蹤、進程清單和記錄。 內容取決於選取的分析。 針對進階疑難解答,報告可能包含與高 CPU 使用量、高磁碟使用量,以及耗用過多記憶體的進程相關的其他資訊和互動式圖表。 如需效能診斷報告的詳細資訊,請參閱 Windows 或 Linux。
注意
您可以在產生效能診斷之後的 30 天內,從 [效能診斷] 畫面下載效能診斷 報告。 30 天后,您可能會在從 [效能診斷 ] 畫面下載報表時收到錯誤。 若要在 30 天后取得報告,請移至記憶體帳戶,並從名為 azdiagextnresults 的二進位大型物件 (BLOB) 容器下載報表。 您可以使用工具列上的 [設定] 按鈕來檢視記憶體帳戶資訊。
檢視和管理記憶體帳戶及儲存的數據
效能診斷會將所有深入解析和報告儲存在記憶體帳戶中,您可以 將其設定為短期數據保留 ,以將成本降至最低。
若要確保效能診斷功能正確,您必須啟用 記憶體帳戶的 [允許記憶體帳戶密鑰存取 ] 設定。 若要啟用此設定,請遵循下列步驟:
- 瀏覽至您的儲存體帳戶。
- 在記憶體帳戶設定中,找出 [ 組態 ] 區段。
- 尋找 [ 允許記憶體帳戶密鑰存取 ] 選項,並將其設定為 [已啟用]。
- 儲存您的變更。
對於使用效能診斷的多個 VM,您可以使用相同的記憶體帳戶。 當您變更記憶體帳戶時,不會刪除舊的報表和深入解析。 不過,它們將不再顯示在診斷報告清單中。
注意
效能診斷會將深入解析儲存在 Azure 數據表中,並將報表儲存在二進位大型物件 (BLOB) 容器中。
如果您的記憶體帳戶使用 私人端點,請確定效能診斷可以將深入解析和報告儲存在記憶體帳戶中:
- 為數據表和 BLOB 建立個別的私人端點。
- 將 DNS 組態新增至每個個別的私人端點。
檢視帳戶中儲存的診斷數據
若要檢視這些檔案:
瀏覽至您的儲存體帳戶。
選取 [儲存體瀏覽器]。
效能診斷會將報表儲存在二進位大型物件 (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 報表。
若要下載報表,請選取 [Blob 容器>azdiagextnresults>>
<report name>
Download]。
變更記憶體帳戶
若要變更記憶體帳戶:
卸載效能診斷
從 VM 卸載效能診斷會移除 VM 擴充功能,但不會影響記憶體帳戶中的任何診斷數據。
若要卸載效能診斷,請選取工具列上的 [ 卸載 ] 按鈕。
常見問題集
如何? 與 Microsoft 客戶支援共用此數據?
當您使用 Microsoft 開啟支援票證時,請務必從隨選效能診斷執行共用效能診斷報告。 Microsoft CSS 聯繫人會為您提供將隨選效能診斷報告上傳至工作區的選項。 有兩種方式可以下載隨選效能診斷報告,以與 Microsoft CSS 共用:
選項 1:從 [效能診斷] 刀鋒視窗下載報告,如檢視效能診斷報告中所述。
選項 2:從記憶體帳戶下載報告,如檢視和管理記憶體帳戶及儲存的數據中所述。
如何? 正確時間擷取診斷數據?
建議您執行持續效能診斷,以持續擷取 VM 診斷數據。
隨選效能診斷執行有兩個階段:
- 安裝或更新效能診斷 VM 擴充功能。
- 執行指定持續時間的診斷。
目前,無法確切地知道 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 意見反應社群提交產品意見反應。