Avamar:使用 Microsoft Windows Perfmon 進行 Avamar Client 的效能監控
Summary: 本文說明如何使用 Perfmon 在 Microsoft Windows 環境中監控 Avamar Client 的效能特徵。
Symptoms
本文適用於執行 Windows 的所有 Avamar Client 版本。
Perfmon (效能監視器) 可以是一款功能強大的故障診斷工具。
它可以按指定的時間間隔收集一段時間內的 Windows 效能指標,並產生記錄檔以進行圖形分析,進而找出系統效能問題。
本文中,我們將討論要收集哪些指標,以及如何正確配置此工具來進行收集。
如需關於調查 Avamar Client 效能的更多資訊,請參閱:
Cause
Resolution
如何存取 Perfmon:
按下 Windows-W 以開啟執行視窗。
輸入 Perfmon。
測量項目和時機
當資源達到其容量限制時便會出現瓶頸,並可能導致效能變慢。
造成瓶頸的原因有資源不足、資源配置錯誤、元件故障,以及程式的資源請求錯誤等。
有五大資源領域會導致瓶頸並影響伺服器效能:
- 實體磁碟
- 記憶體
- 程序
- CPU
- 網路
如果其中任何一項資源被過度使用,伺服器或應用程式會明顯變慢或當機。
我們會討論這些領域,並建議哪些計數器和閾值可以幫助測量伺服器的效能。
採樣間隔對記錄檔大小和伺服器負載有著重大影響。
根據發生問題的平均經過時間來設定採樣間隔,以便在問題再次發生之前建立基準。這有助於發現導致問題的任何趨勢。
對於在正常運作期間建立基準,十五分鐘是不錯的時間範圍。
- 如果發生問題的平均經過時間約為四小時,請將採樣間隔設為十五秒。
- 如果發生問題的經過時間為八小時或更長,請將採樣間隔設為不少於五分鐘。
這些準則有助於避免產生龐大的記錄檔,進而使資料分析變得更加困難。
效能物件和計數器
- 物件 - 管理效能資料的元件
- 計數器 - 特殊物件特有的效能統計資料,其描述一個物件特有的效能特徵。例如,\PhysicalDisk\%Idle Time 會提供轉軸觀察到關於閒置時間的效能資料。
- 例項 - 代表唯一資源的多個複本。觀察 \PhysicalDisk\%Idle Time 可能會顯示系統上有不同轉軸可供使用,以及其對應的 %Idle Time 值。
採樣間隔
請記住監測的目的和持續時間。
15 分鐘的記錄間隔適用於日常監測間隔。
採樣間隔應縮短至可捕捉到問題的時間間隔。
對於在一段時間內逐漸形成的問題,可使用較長的採樣間隔。
對於暫時性的問題,請使用幾秒鐘的較短間隔。此採樣間隔有助於解決磁碟子系統問題。
設定採樣間隔時,請記住監測的持續時間。
如果監測執行 >8 小時,則 <300 秒的採樣間隔可能會產生龐大檔案。執行收集程序本身的負擔可能會影響結果。
如何啟用 Perfmon Logging@。
以管理員使用者身分開啟命令提示字元。
複製以下命令,以啟動或停止記錄擷取作業。
以下命令會建立效能監視器資料集。
Logman.exe create counter Avamar -o "c:\perflogs\Emc-avamar.blg" -f bincirc -v mmddhhmm -max 250 -c "\LogicalDisk(*)\*" "\Memory\*" "\Network Interface(*)\*" "\Paging File(*)\*" "\PhysicalDisk(*)\*" "\Processor(*)\*" "\Process(*)\*" "\Redirector\*" "\Server\*" "\System\*" -si 00:00:05 Start the logs with: Logman.exe start Avamar Stop the logs with: Logman.exe stop Avamar Above commands can be modified to collect SQL server Performance Monitor data during backups as: First create a folder for log collection as C:\SQL_Performance_Logs\ For default SQL instance run: Logman create counter Avamar_SQL_perf_log -f bin -c "\Network Interface(*)\*" "\Redirector\*" "\Paging File(*)\*" "\Memory\*" "\PhysicalDisk(*)\*" "\LogicalDisk(*)\*" "\Server\*" "\System\*" "\Process(*)\*" "\Processor(*)\*" "\SQLServer:Databases(*)\*" "\SQLServer:Buffer Manager\*" "\SQLServer:Memory Manager\*" "\SQLServer:SQL Statistics\*" -si 00:00:05 -max 800 -cnf 0 -o C:\SQL_Performance_Logs\AvamarSQL_perf_log.blg For named instance, replace server with instance name Logman create counter Avamar_SQL_perf_log -f bin -c "\Network Interface(*)\*" "\Redirector\*" "\Paging File(*)\*" "\Memory\*" "\PhysicalDisk(*)\*" "\LogicalDisk(*)\*" "\Server\*" "\System\*" "\Process(*)\*" "\Processor(*)\*" "\SQLServer:Databases(*)\*" "\SQLServer:Buffer Manager\*" "\SQLServer:Memory Manager\*" "\MSSQL$InstanceName:SQL Statistics\*" -si 00:00:05 -max 800 -cnf 0 -o C:\SQL_Performance_Logs\AvamarSQL_perf_log.blg start collecting logs: Logman start Avamar_SQL_perf_log stop log collection: Logman stop Avamar_SQL_perf_log
計數器及其閾值
記憶體
%Committed bytes in use:
投入的記憶體是指使用中的實體記憶體,如需將其寫入磁碟,在分頁檔案中已為此保留空間。
分頁檔案大小決定了投入限制。如果分頁檔案加大,投入限制會隨著增加且比率降低。
此計數器只會顯示目前的百分比值。它不是一個平均值。如果此值始終超過 80%,則分頁檔案可能太小。
Available bytes:
可用位元組是指可立即分配給程序或供系統使用的實體記憶體容量 (以位元組為單位)。
這在 X64 系統上很少造成限制。如果此值始終低於已安裝 RAM 的 5%,您應進行調查。如果此值始終低於已安裝 RAM 的 1%,則確定有問題。
Committed Bytes:
投入的記憶體是指在一或多個磁碟分頁檔案上為其保留空間的實體記憶體。
每個硬碟上可以有一或多個分頁檔案。
理想情況下,此計數器應永遠不變。如有變動,便代表分頁檔案擴展,並應立即進行調查。
Free System Page Table entries:
這曾是較舊 x86 版本的隱憂。在 Windows Server 2003 SP2 伺服器上,在沒有 /3Gb 交換器的情況下開機時,該值約為 200,000 個 PTE。
在有 /3Gb 交換器的情況下開機時,值降至 ~25000 個 PTE。
Pool Nonpaged Bytes:
集區非分頁位元組是非分頁集區的大小 (位元組)。這是系統記憶體 (作業系統使用的實體記憶體) 的一個區域,用於儲存無法寫入磁碟但必須留在實體記憶體中直到分配為止的物件。
如果非分頁集區的使用率始終大於 80%,您可能會面臨「非分頁集區耗盡」問題 (事件 ID 2019)。
Pool Paged Bytes:
集區分頁位元組是分頁集區的大小 (以位元組為單位),而分頁集區是系統記憶體 (作業系統使用的實體記憶體) 的一個區域,用於儲存不使用時可寫入磁碟的物件。
分頁集區是比非分頁集區更大的資源。如果此值始終大於最大配置集區大小的 70%,您可能面臨分頁集區耗盡 (事件 ID 2020) 的風險。
處理器 (檢查每個處理器和整體)
%Interrupt time:
在採樣間隔期間,處理器接收和檢修硬體中斷所花費的時間。
此值是產生中斷之裝置活動的間接指標。例如,系統時鐘、滑鼠、磁碟驅動程式、資料通訊線路、網路介面卡和其他周邊裝置。
這些裝置在完成任務或需要注意時會中斷處理器。
%DPC time:
表示完成 I/O 作業所需的時間。與上述內容類似,應調查任何 >25% 的值。
%Privileged Time:
作業系統核心運作的時間。應用程式或 WEB 伺服器的閾值通常會低於 30%。
%Processor Time:
當單一處理器機器的值持續為 > 90% 或多處理器機器的值持續為 > 80%,則應予以調查。
網路介面
Packets received discarded:
這用於檢查潛在的硬體問題。閾值 > 1。 可能的補救方法是調整網路緩衝區。
Packets received errors:
這用於檢查潛在的硬體問題。閾值 > 2
磁碟 (針對每個磁碟)
%Idle time:
此計數器提供磁碟閒置時間的精確測量值,這代表從作業系統送到磁碟的所有請求均已完成,因此待處理的請求數為零。
計算方法是:系統會在磁碟閒置時為事件加上時間戳記,然後在磁碟收到新請求時為另一個事件加上時間戳記。
在擷取間隔結束時,它會計算閒置時間的百分比。此計數器的範圍從 100 (表示始終閒置) 到 0 (表示始終忙碌)。
此計數器可精確判定磁碟子系統的飽和度。
Avg. Disk Queue Length:
平均磁碟佇列長度等於 (磁碟傳輸/秒) *(磁碟秒/傳輸)。
這是基於數學上佇列理論的
利特爾法則 (Little's Law)。
請注意,這是衍生值,不是直接測量值。任何小於轉軸數量兩倍的值,都是正常值。
Avg Disk Sec/Transfer:
顯示磁碟傳輸完成所花的平均時間,以秒為單位。
儘管標度是秒,但計數器有毫秒級的精度,這意味著值 0.004 表示磁碟傳輸完成的平均時間為 4 毫秒。
這是 Perfmon 中用於測量 I/O 延遲的計數器。以下是範例值。這些值可能因使用的磁碟品質而有所不同:
Reads Excellent < 08 Msec (.008 seconds) Good < 12 Msec (.012 seconds) Fair < 20 Msec (.020 seconds) Poor > 20 Msec (.020 seconds) Writes Excellent < 01 Msec (.001 seconds) Good < 02 Msec (.002 seconds) Fair < 04 Msec (.004 seconds) Poor > 04 Msec (.004 seconds)
Split I/Os:
測量由於檔案分散而導致的 I/O 分割速率。如果 I/O 請求接觸非連續檔案區段上的資料,就會發生這種情況。應接近於零。
這可能有所不同,因為 RAID Stripe 大小或 NTFS 區塊大小太小。
% Free Space:
顯示所選邏輯磁碟上可用空間總數的百分比。應始終有> 15% 可用空間,建議值為 >=25%。
程序
- Handle Count:與集區洩漏相互關聯。
- Virtual bytes:保留供應用程式使用的虛擬記憶體。
- Working set bytes:常駐在實體記憶體 (為應用程式所有) 中的私用位元組。
Perfmon 中的實體磁碟與邏輯磁碟之效能物件有何差異?
Perfmon 有兩個與磁碟效能直接相關的物件:實體磁碟和邏輯磁碟。
它們的計數器以相同方式進行計算,但它們的範圍不同。
實體磁碟效能物件會監視電腦上的磁碟機。它會識別表示實體硬體的例項。計數器是對實體例項上所有分割區的存取總和。
邏輯磁碟效能物件 會監視邏輯分割區。效能監視器是根據邏輯磁碟的磁碟機代號或掛載點來予以識別。
如果硬碟含有多個分割區,此計數器會報告所選分割區的值,而不是整個磁碟的值。
使用動態磁碟時,邏輯磁碟區可能跨多個硬碟,在此情況下,計數器的值會包含其跨越之所有硬碟中的邏輯磁碟存取。
Windows Performance Monitor 中的哪些計數器會顯示硬碟延遲?
- 實體磁碟效能物件 -> Avg.Disk sec/Read 計數器 - 顯示平均讀取延遲。
- 實體磁碟效能物件 -> Avg.Disk sec/Write 計數器 - 顯示平均寫入延遲。
- 實體磁碟效能物件 -> Avg.Disk sec/Transfer 計數器 - 顯示讀取和寫入的合併平均值。
- _Total 例項是電腦中所有硬碟的延遲平均值。
其他每個例項代表一個單獨的實體磁碟。
在不同監控情況下要留意的計數器 -:
|
元件 |
受監控的效能層面 |
要監控的計數器 |
|
磁碟 |
使用 |
Physical Disk\ Sec/Read Physical Disk\ Disk Reads/sec Physical Disk\ Avg Queue Length Read Physical Disk\ Avg Queue Length Write Logical Disk\ % Free Space 請謹慎解讀 % Disk Time 計數器。 |
|
磁碟 |
瓶頸 |
Physical Disk\ ALL COUNTERS Logical Disk\ % Free Space System\File Control Operations/sec System\File Data Operations/sec 注意:此重要計數器的位置在系統下。它不是磁碟區特定,但如果您只有一個作用中的磁碟區,這也非常實用。 |
|
記憶體 |
使用 |
Memory\ Available Bytes Memory\ % Committed Bytes in Use. Memory\ Pool Non-Paged Bytes Memory\ Pool Paged Bytes. Memory\ Pages Input or Reads/sec Memory\ Free System Pages |
|
記憶體 |
瓶頸或洩漏 |
Memory\ Available Bytes Memory\ Cache Bytes Memory\ Pages/sec Memory\ Page Output or Write /sec. Memory\ Free System Pages |
|
處理器 |
使用 |
Processor\ % Processor Time (all instances) Processor\ % Privileged Time Processor\ % User Time |
|
處理器 |
瓶頸 |
Processor\ % Processor Time (all instances) Processor\ % DPC Time Processor\ % Interrupt Time Processor\ % Privileged Time Processor\ % User Time Processor\ DPC s Queued /sec. System\System Calls/sec System\ Processor Queue Length (all instances) |
Additional Information