windows 系統監視器 以及建議閥值

常用的windows計數器及性能分析方法

一.常用的windows計數器

processor

%processor time    建議閾值85%


memory  

Available bytes    建議閾值少於4MB需要添加內存;
另外,又建議至少要有10%的物理內存值
Pages reads/sec Page Reads/sec 是指爲解析硬頁錯誤而讀取磁盤的次數,如果該值一直持續較大,表明可能內存不足
建議閾值30(5?),大數值表示磁盤讀而不是緩存讀
Pages writes/sec Page Writes/sec 是指爲了釋放物理內存空間而將頁寫入磁盤的次數
Pages Input/sec Pages Input/sec 指爲解決頁錯誤從磁盤上讀取的頁數
Pages Output/sec Pages Output/sec 是指爲了釋放物理內存空間而寫入磁盤的頁數
如果該值遠遠大於Pages Input/sec,可能有內存泄露
Pages/sec Pages/sec 是指爲解析硬頁錯誤從磁盤讀取或寫入磁盤的頁數
建議閾值20


Network interface

(對於TCP/IP) Bytes received/sec 該數據結合Bytes total/sec看
Bytes sent/sec 該數據結合Bytes total/sec看
Bytes total/sec 推薦不要超過帶寬的50%
Packets/sec 根據實際數據量大小,無建議閾值,該數據結合Bytes total/sec看

Disk

Physical disk Disk reads/sec 取決於硬盤製造商的規格,檢查磁盤的指定傳送速度,以驗證此速度沒有超出規格
Disk writes/sec 取決於硬盤製造商的規格,檢查磁盤的指定傳送速度,以驗證此速度沒有超出規格
又:上兩值相加,應小於磁盤設備的最大容量
%Disk Time 建議閾值90%
Current disk queue length
Avg. disk queue length(如果使用RAID設備,%Disk Time計數器顯示的值可以大於100%。如果大於100%,則使用Avg. disk queue length計數器決定正在等待磁盤訪問的系統請求的平均數) 不超過磁盤數的1.5~2倍
如果上兩值始終較高,可以考慮升級磁盤驅動器或將某些文件移動到其他磁盤或服務器


一些注意事項
1. 如果監視不超過4個小時,則每15秒更新一次比較合理;如果將監視系統8個小時或更長時間,則設置的間隔不要小於300秒
2. 個人認爲測試報告結果同時還要附上圖參考,因爲單靠最小、最大和平均值還不能說明問題
3. 與物理磁盤計數器的數據不同,邏輯磁盤計數器的數據默認情況下不是由操作系統蒐集。要獲得邏輯驅動器或存儲卷的性能計數器數據,必須在命令提示符下鍵入diskperf –yv。默認情況下,操作系統使用diskperf –yd命令包含物理驅動器數據。使用命令diskperf的詳細信息,請在命令提示符下鍵入diskperf -?。
4. 通常,決定性能是否可以接受是一種主觀判斷,隨用戶環境的變化而明顯地變化。
5. 內存不足是計算機系統中的嚴重性能問題最常見的原因。工作站響應速度很慢最有可能是內存和處理器問題造成的;服務器更容易受到磁盤和網絡問題的影響。
6. 在程序啓動時,每個程序的Process%Processor Time值迅速攀升、降低,然後穩定。注意程序啓動時處理器的峯值非常重要;你可能要暫時忽略監視數據中高的啓動值,以獲得典型程序使用處理器情況的更精確的圖片。
7. 當內存減少時,操作系統開始通過從活動較少的程序的工作集(working set)中獲得內存來補充,因此,將看到一個程序工作集的增大,而其他程序的值減少。如果系統中沒有足夠的內存來滿足所有活動程序的要求,將發生內存頁交換,程序性能將受到影響。
8. 如果發生了內存泄漏,ProcessPrivate Bytes計數器和ProcessWorking set 計數器的值往往會升高,同時Available bytes會降低。
9. 如果Process不見了,修改註冊表HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesPerfProcPerformance 下的Disable Performance Counters值爲0.


二.性能分析
1.內存分析方法

  內存分析用於判斷系統有無內存瓶頸,是否需要通過增加內存等手段提高系統性能表現。

  內存分析需要使用的計數器:Memory類別和Physical Disk類別的計數器。內存分析的主要方法和步驟:

 (1)首先查看MemoryAvailable Mbytes指標

  如果該指標的數據比較小,系統可能出現了內存方面的問題,需要繼續下面步驟進一步分析。

注:  在UNIX/LINUX中,對應指標是FREE(KB)

  (2)注意Pages/sec、Pages Read/sec和Page Faults/sec的值

 操作系統回利用磁盤較好的方式提高系統可用內存量或者提高內存的使用效率。這三個指標直接反應了操作系統進行磁盤交換的頻度。

  如果Pages/sec的技術持續高於幾百,可能有內存問題。Pages/sec值不一定大九表明有內存問題,可能是運行使用內存映射文件的程序所致。Page Faults/sec說明每秒發生頁面失效次數,頁面失效次數越多,說明操作系統向內存讀取的次數越多。此事需要查看Pages Read/sec的計數值,該計數器的閥值爲5,如果計數值超過5(有點問題,路過者知道的可說下...),則可以判斷存在內存方面的問題。

  注:在UNIX/LINUX系統中,對於指標是(page)si和(page)so.

  (3)根據Physical Disk計數器的值分析性能瓶頸

  對Physical Disk計數器的分析包括對Page Reads/sec和%Disk Time及Aerage Disk Queue Length的分析。如果Pages Read/sec很低,同時%Disk Time和Average Disk Queue Length的值很高,則可能有磁盤瓶頸。但是,如果隊列長度增加的同時Pages Read/sec並未降低,則是內存不足。

 注:在UNIX/LINUX系統中,對應的指標是Reads(Writes)per sec、Percent of time the disk is busy和Average number of transactions waiting for service.

  2.處理器分析法

(1)首先看System%Total Processor Time 性能計數器的計數值

   該計數器的值體現服務器整體處理器利用率,對多處理器的系統而言,該計數器提醒所有CPU的平均利用率。如果該值持續超過90%,則說明整個系統面臨着處理器方面的瓶頸,需要通過增加處理器來提高性能。

  注:多處理器系統中,該數據本身不大,但PUT直接負載狀況極不均衡,也應該視作系統產生處理器方面瓶頸。

(2)其次查看每個CPU的Processor%Processor Time 和 Processor%User  Time 和 Processor%Privileged Time

   Processor%User  Time 是系統非核心操作消耗的CPU時間,如果該值較大,可以考慮是否能通過友好算法等方法降低這個值。如果該服務器是數據庫服務器, Processor%User  Time 值大的原因很可能是數據庫的排序或是函數操作消耗了過多的CPU時間,此時可以考慮對數據庫系統進行優化。

(3)研究系統處理器瓶頸

 查看 SystemProcessor Queue Length 計數器的值,當該計數器的值大於CPU數量的總數+1時,說明產生了處理器阻塞。在處理器的%Process Time很高時,一般都隨處理器阻塞,但產生處理器阻塞時,Processor%Process Time 計數器的值並不一定很大,此時就必須查找處理器阻塞的原因。

 %DOC Time 是另一個需要關注的內容,該計數器越低越好。在多處理器系統中,如果這個值大於50%,並且Processor%Precessor Time非常高,加入一個網卡可能回提高性能。

3.磁盤I/O分析方法

(1)計算梅磁盤的I/O數

  梅磁盤的I/O數可用來與磁盤的I/O能力進行對比,如果經過計算得到的每磁盤I/O數超過了磁盤標稱的I/O能力,則說明確實存在磁盤的性能瓶頸。

  每磁盤I/O計算方法

 RAID0計算方法:(Reads +Writes)/Number of Disks

 RAID0計算方法:(Reads +2*Writes)/2

 RAID0計算方法:[Reads +(4*Writes)]/Number of Disks

 RAID0計算方法:[Reads +(2*Writes)]/Number of Disks

  (2)與ProcessorPrivileged Time 合併進行分析

  如果在Physical Disk 計數器中,只有%Disk Time 比較大,其他值都比較適中,硬盤可能會是瓶頸。若幾個值都比較大,且數值持續超過80%,則可能是內存泄漏。

  (3)根據Disk sec/Transfer進行分析

    一般來說,定義該數值小於15ms爲Excellent,介於15~30ms之間爲良好,30~60ms之間爲可以接受,超過60ms則需要考慮更換硬盤或是硬盤的RAID方式了。

 4.進程分析方法

(1)查看進程的%Processor Time值

  每個進程的%Processor Time反映進程所消耗的處理器時間。用不同進程所消耗的處理器時間進行對比,可以看出具體哪個進程在性能測試過程中消耗了最多的處理器時間,從而可以據此針對應用進行優化。

(2)查看每個進程產生的頁面失效

   可以用每個進程產生的頁面失效(通過PRCESSPAGE FAILURES/SEC計數器獲得)和系統頁面失效(可以通過MEMORYPAGE FAILURES/SEC計數器獲得)的比值,來判斷哪個進程產生了最多的頁面失效,這個進程要麼是需要大量內存的進程,要麼是非常活躍的進程,可以對其進行重點分析。

  (3)瞭解進程的Process/Private Bytes

    Process/Private Bytes是指進程所分配的無法與其他進程共享的當前字節數量。該計數器主要用來判斷進程在性能測試過程中有無內存泄漏。例如:對於一個IIS之上的WEB應用,我們可以重點監控inetinfo進程的Private Bytes,如果在性能測試過程中,該進程的Private Bytes計數器值不斷增加,或是性能測試停止後一段時間,該進程的Private Bytes仍然持續在高水平,則說明應用存在內存泄漏。

  注:在UNIX/LINUX系統中,對應的指標是Resident Size

  5.網絡分析方法

  Network InterfaceBytes Total/sec爲發送和接收字節的速率,可以通過該計數器值來判斷網絡鏈接速度是否是瓶頸,具體操作方法是用該計數器的值和目前網絡的帶寬進行比較。

 RAID0計算方法:[Reads +(2*Writes)]/Number of Disks

  (2)與ProcessorPrivileged Time 合併進行分析

  如果在Physical Disk 計數器中,只有%Disk Time 比較大,其他值都比較適中,硬盤可能會是瓶頸。若幾個值都比較大,且數值持續超過80%,則可能是內存泄漏。

  (3)根據Disk sec/Transfer進行分析

    一般來說,定義該數值小於15ms爲Excellent,介於15~30ms之間爲良好,30~60ms之間爲可以接受,超過60ms則需要考慮更換硬盤或是硬盤的RAID方式了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章