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