1. 程式人生 > >Windows 效能監視器的計數器及閾值應用

Windows 效能監視器的計數器及閾值應用

我把我整理的一些計數器及其閾值要求等貼出來,這些計數器是針對我對windows作業系統,C/S結構的sql server資料庫及WEB平臺.net產品測試時的一些計數器;

 

 

Memory counter Acceptable average range Desired value Action
Pages/sec(系統每秒向虛擬記憶體中讀取寫入的總次數) 0-20 (正常參考值) Low Find the process that is causing pagin Add RAM
Available Bytes(系統可用實體記憶體總位元組數) Minimum of 5%of total memory(大於實體記憶體的5%) High Find the process that is using RAM Add RAM
Committed Bytes(系統已經為其在虛擬記憶體中保留了空間的實體記憶體的位元組數) Less than physical RAM (小於實體記憶體) Low Find the process that is using RAM Add RAM
Pool Nonpaged Bytes (被作業系統佔用不能被寫入到虛擬記憶體中去的實體記憶體的總位元組數) Remain steady,no increase (處於穩定狀態) Not applicable Check for memory leak in application
Page Faults/sec(在實體記憶體中發生的每秒鐘找不到應用程式所需要資料的次數) Below 5 Low  Find the process that is causing paging Add RAM
Processor counter  Acceptable average range Desired value Action
% Processor Time Less that 85% Low  Find process using excessive processor time. Upgrade or add another processor
System Processor Queue Length(處理器佇列長度,即處理器執行緒個數) Less that 10 Low  Upgrade or add additional processor
Server Work Queues;Queus Length(當前CPU伺服器作業長度) Less than Four Low  Find process using excessive processor time; Upgrade or add another processor
%Privileged Time 如果該引數值和"Physical Disk"引數值一直很高,表明I/O有問題。 Low   
Interrupts/sec(每秒接收硬體中斷請求次數) Depends on processor Low  Find controller card generating interrupts
Physical disk counter  Acceptable average rang Desired value Action
% Disk Time (磁碟為讀寫底盤服務所佔用的磁碟時間百分比) Under 50% (低於50%) Low  Monitor to see if paging is occurring; Upgrade disk subsystem
Current Disk Queue Length(當前正在等待磁碟讀寫請求數量) 0-2 Low  Upgrade disk subsystem
Avg. Disk Bytes/Transfer(每次寫入或者讀取操作過程中所傳輸資料的平均位元組數) Baseline or higher(越高越好) High Upgrade disk subsystem
Disk Bytes/sec(系統每秒可以從磁碟讀取或者寫入的位元組總數) Baseline or higher (越高越好) High Upgrade disk subsystem
Network interface counter Acceptable average range Desired value Actin
Network Utilization(In Task Manager)(網路利用率) Generally lower than 30% Low Low
Network Interface Bytes Sent/sec    網絡卡每秒所能傳送位元組總數 Baseline or higher High Upgrade network adapter or physical network
Network interface:Bytes Total/sec 網絡卡每秒能傳送和接受位元組數 Baseline or higher High Perform further analysis to determine cause of problem Upgrade or add another adapter
Server: Bytes Received/Sec 伺服器每秒從網路接收位元組總數 Less than 50% of the capacity of the bandwidth of the network card NA Upgrade network adapter or physical netwrk
SQL Server counter Acceptable average range Desired value Actin
.Buffer Cache Hit Ratio. 在“緩衝池”(Buffer Cache/Buffer Pool)中沒有被讀過的頁佔整個緩衝池中所有頁的比率。 計數器值依應用程式而定,但比率最好為90% 或更高。 High  
. Cache Hit Ratio(快取記憶體命中率) 如果這個值很低,持續低於80%,就需要增加更多的記憶體。 High add RAM

 


Memory: 記憶體使用情況可能是系統性能中最重要的因素。如果系統“頁交換”頻繁,說明記憶體不足。“頁交換”是使用稱為“頁面”的單位,將固定大小的程式碼和資料塊從 RAM 移動到磁碟的過程,其目的是為了釋放記憶體空間。儘管某些頁交換使 Windows 2000 能夠使用比實際更多的記憶體,也是可以接受的,但頻繁的頁交換將降低系統性能。減少頁交換將顯著提高系統響應速度。要監視記憶體不足的狀況,請從以下的物件計數器開始:

Available Mbytes:可用實體記憶體數. 如果Available Mbytes的值很小(4 MB 或更小),則說明計算機上總的記憶體可能不足,或某程式沒有釋放記憶體。


page/sec: 表明由於硬體頁面錯誤而從磁碟取出的頁面數,或由於頁面錯誤而寫入磁碟以釋放工作集空間的頁面數。一般如果pages/sec持續高於幾百,那麼您應該進一步研究頁交換活動。有可能需要增加記憶體,以減少換頁的需求(你可以把這個數字乘以4k就得到由此引起的硬碟資料流量)。Pages/sec 的值很大不一定表明記憶體有問題,而可能是執行使用記憶體對映檔案的程式所致。


page read/sec:頁的硬故障,page/sec的子集,為了解析對記憶體的引用,必須讀取頁檔案的次數。閾值為>5. 越低越好。大數值表示磁碟讀而不是快取讀。 
由於過多的頁交換要使用大量的硬碟空間,因此有可能將導致將頁交換記憶體不足與導致頁交換的磁碟瓶徑混淆。因此,在研究記憶體不足不太明顯的頁交換的原因時,您必須跟蹤如下的磁碟使用情況計數器和記憶體計數器: 
Physical Disk/ % Disk Time 
Physical Disk/ Avg.Disk Queue Length 
例如,包括 Page Reads/sec 和 % Disk Time 及 Avg.Disk Queue Length。如果頁面讀取操作速率很低,同時 % Disk Time 和 Avg.Disk Queue Length的值很高,則可能有磁碟瓶徑。但是,如果佇列長度增加的同時頁面讀取速率並未降低,則記憶體不足。 
要確定過多的頁交換對磁碟活動的影響,請將 Physical Disk/ Avg.Disk sec/Transfer 和 Memory/ Pages/sec 計數器的值增大數倍。如果這些計數器的計數結果超過了 0.1,那麼頁交換將花費百分之十以上的磁碟訪問時間。如果長時間發生這種情況,那麼您可能需要更多的記憶體。


Page Faults/sec:每秒軟性頁面失效的數目(包括有些可以直接在記憶體中滿足而有些需要從硬碟讀取)較page/sec只表明資料不能在記憶體的指定工作集中立即使用。 
Cache Bytes:檔案系統快取(File System Cache),預設情況下為50%的可用實體記憶體。如IIS5.0 執行記憶體不夠時,它會自動整理快取。需要關注該計數器的趨勢變化 
如果您懷疑有記憶體洩露,請監視 Memory/ Available Bytes 和 Memory/ Committed Bytes,以觀察記憶體行為,並監視您認為可能在洩露記憶體的程序的 Process/Private Bytes、Process/Working Set 和Process/Handle Count。如果您懷疑是核心模式程序導致了洩露,則還應該監視 Memory/Pool Nonpaged Bytes、Memory/ Pool Nonpaged Allocs 和 Process(process_name)/ Pool Nonpaged Bytes。


Pages per second :每秒鐘檢索的頁數。該數字應少於每秒一頁。

Process: 
%Processor Time: 被處理器消耗的處理器時間數量。如果伺服器專用於sql server,可接受的最大上限是80-85% 
Page Faults/sec:將程序產生的頁故障與系統產生的相比較,以判斷這個程序對系統頁故障產生的影響。 
Work set: 處理執行緒最近使用的記憶體頁,反映了每一個程序使用的記憶體頁的數量。如果伺服器有足夠的空閒記憶體,頁就會被留在工作集中,當自由記憶體少於一個特定的閾值時,頁就會被清除出工作集。 
Inetinfo:Private Bytes:此程序所分配的無法與其它程序共享的當前位元組數量。如果系統性能隨著時間而降低,則此計數器可以是記憶體洩漏的最佳指示器。

Processor:監視“處理器”和“系統”物件計數器可以提供關於處理器使用的有價值的資訊,幫助您決定是否存在瓶頸。 
%Processor Time:如果該值持續超過95%,表明瓶頸是CPU。可以考慮增加一個處理器或換一個更快的處理器。 
%User Time:表示耗費CPU的資料庫操作,如排序,執行aggregate functions等。如果該值很高,可考慮增加索引,儘量使用簡單的表聯接,水平分割大表格等方法來降低該值。 
%Privileged Time:(CPU核心時間)是在特權模式下處理執行緒執行程式碼所花時間的百分比。如果該引數值和"Physical Disk"引數值一直很高,表明I/O有問題。可考慮更換更快的硬碟系統。另外設定Tempdb in RAM,減低"max async IO","max lazy writer IO"等措施都會降低該值。 
此外,跟蹤計算機的伺服器工作隊列當前長度的 Server Work Queues/ Queue Length 計數器會顯示出處理器瓶頸。佇列長度持續大於 4 則表示可能出現處理器擁塞。此計數器是特定時間的值,而不是一段時間的平均值。 
% DPC Time:越低越好。在多處理器系統中,如果這個值大於50%並且Processor:% Processor Time非常高,加入一個網絡卡可能會提高效能,提供的網路已經不飽和。

Thread 
ContextSwitches/sec: (例項化inetinfo 和dllhost 程序) 如果你決定要增加執行緒位元組池的大小,你應該監視這三個計數器(包括上面的一個)。增加執行緒數可能會增加上下文切換次數,這樣效能不會上升反而會下降。如果十個例項的上下文切換值非常高,就應該減小執行緒位元組池的大小。

Physical Disk: 
%Disk Time %:指所選磁碟驅動器忙於為讀或寫入請求提供服務所用的時間的百分比。如果三個計數器都比較大,那麼硬碟不是瓶頸。如果只有%Disk Time比較大,另外兩個都比較適中,硬碟可能會是瓶頸。在記錄該計數器之前,請在Windows 2000 的命令列視窗中執行diskperf -yD。若數值持續超過80%,則可能是記憶體洩漏。 
Avg.Disk Queue Length:指讀取和寫入請求(為所選磁碟在例項間隔中列隊的)的平均數。該值應不超過磁碟數的1.5~2 倍。要提高效能,可增加磁碟。注意:一個Raid Disk實際有多個磁碟。 
Average Disk Read/Write Queue Length:指讀取(寫入)請求(列隊)的平均數。 
Disk Reads(Writes)/s: 物理磁碟上每秒鐘磁碟讀、寫的次數。兩者相加,應小於磁碟裝置最大容量。 
Average Disksec/Read: 指以秒計算的在此盤上讀取資料的所需平均時間。 
Average Disk sec/Transfer:指以秒計算的在此盤上寫入資料的所需平均時間。 
Network Interface: 
Bytes Total/sec :為傳送和接收位元組的速率,包括幀字元在內。判斷網路連線速度是否是瓶頸,可以用該計數器的值和目前網路的頻寬比較

SQLServer效能計數器: 
Access Methods(訪問方法) 用於監視訪問資料庫中的邏輯頁的方法。 
. Full Scans/sec(全表掃描/秒) 每秒不受限的完全掃描數。可以是基本表掃描或全索引掃描。如果這個計數器顯示的值比1或2高,應該分析你的查詢以確定是否確實需要全表掃描,以及S Q L查詢是否可以被優化。 
. Page splits/sec(頁分割/秒)由於資料更新操作引起的每秒頁分割的數量。 
Buffer Manager(緩衝器管理器):監視 Microsoft® SQL Server? 如何使用: 記憶體儲存資料頁、內部資料結構和過程快取記憶體;計數器在 SQL Server 從磁碟讀取資料庫頁和將資料庫頁寫入磁碟時監視物理 I/O。 監視 SQL Server 所使用的記憶體和計數器有助於確定: 是否由於缺少可用實體記憶體儲存快取記憶體中經常訪問的資料而導致瓶頸存在。如果是這樣,SQL Server 必須從磁碟檢索資料。 是否可通過新增更多記憶體或使更多記憶體可用於資料快取記憶體或 SQL Server 內部結構來提高查詢效能。 
SQL Server 需要從磁碟讀取資料的頻率。與其它操作相比,例如記憶體訪問,物理 I/O 會耗費大量時間。儘可能減少物理 I/O 可以提高查詢效能。 
.Page Reads/sec:每秒發出的物理資料庫頁讀取數。這一統計資訊顯示的是在所有資料庫間的物理頁讀取總數。由於物理 I/O 的開銷大,可以通過使用更大的資料快取記憶體、智慧索引、更高效的查詢或者改變資料庫設計等方法,使開銷減到最小。 
.Page Writes/sec (.寫的頁/秒) 每秒執行的物理資料庫寫的頁數。 
.Buffer Cache Hit Ratio. 在“緩衝池”(Buffer Cache/Buffer Pool)中沒有被讀過的頁佔整個緩衝池中所有頁的比率。可在快取記憶體中找到而不需要從磁碟中讀取的頁的百分比。這一比率是快取記憶體命中總數除以自 SQL Server 例項啟動後對快取記憶體的查詢總數。經過很長時間後,這一比率的變化很小。由於從快取記憶體中讀資料比從磁碟中讀資料的開銷要小得多,一般希望這一數值高一些。通常,可以通過增加 SQL Server 可用的記憶體數量來提高快取記憶體命中率。計數器值依應用程式而定,但比率最好為90% 或更高。增加記憶體直到這一數值持續高於90%,表示90% 以上的資料請求可以從資料緩衝區中獲得所需資料。 
. Lazy Writes/sec(惰性寫/秒)惰性寫程序每秒寫的緩衝區的數量。值最好為0。 
Cache Manager(快取記憶體管理器) 物件提供計數器,用於監視 Microsoft® SQL Server? 如何使用記憶體儲存物件,如儲存過程、特殊和準備好的 Transact-SQL 語句以及觸發器。 
. Cache Hit Ratio(快取記憶體命中率,所有Cache”的命中率。在SQL Server中,Cache可以包括Log Cache,Buffer Cache以及Procedure Cache,是一個總體的比率。) 快取記憶體命中次數和查詢次數的比率。對於檢視SQL Server快取記憶體對於你的系統如何有效,這是一個非常好的計數器。如果這個值很低,持續低於80%,就需要增加更多的記憶體。 
Latches(閂) 用於監視稱為閂鎖的內部 SQL Server 資源鎖。監視閂鎖以明確使用者活動和資源使用情況,有助於查明效能瓶頸。 
. Average Latch Wait Ti m e ( m s ) (平均閂等待時間(毫秒)) 一個SQL Server執行緒必須等待一個閂的平均時間,以毫秒為單位。如果這個值很高,你可能正經歷嚴重的競爭問題。 
. Latch Waits/sec (閂等待/秒) 在閂上每秒的等待數量。如果這個值很高,表明你正經歷對資源的大量競爭。 
Locks(鎖) 提供有關個別資源型別上的 SQL Server 鎖的資訊。鎖加在 SQL Server 資源上(如在一個事務中進行的行讀取或修改),以防止多個事務併發使用資源。例如,如果一個排它 (X) 鎖被一個事務加在某一表的某一行上,在這個鎖被釋放前,其它事務都不可以修改這一行。儘可能少使用鎖可提高併發性,從而改善效能。可以同時監視 Locks 物件的多個例項,每個例項代表一個資源型別上的一個鎖。 
. Number of Deadlocks/sec(死鎖的數量/秒) 導致死鎖的鎖請求的數量 
. Average Wait Time(ms) (平均等待時間(毫秒)) 執行緒等待某種型別的鎖的平均等待時間 
. Lock Requests/sec(鎖請求/秒) 每秒鐘某種型別的鎖請求的數量。 
Memory manager:用於監視總體的伺服器記憶體使用情況,以估計使用者活動和資源使用,有助於查明效能瓶頸。監視 SQL Server 例項所使用的記憶體有助於確定: 
是否由於缺少可用實體記憶體儲存快取記憶體中經常訪問的資料而導致瓶頸存在。如果是這樣,SQL Server 必須從磁碟檢索資料。 
是否可以通過新增更多記憶體或使更多記憶體可用於資料快取記憶體或 SQL Server 內部結構來提高查詢效能。 
Lock blocks:伺服器上鎖定塊的數量,鎖是在頁、行或者表這樣的資源上。不希望看到一個增長的值。 
Total server memory:sql server伺服器當前正在使用的動態記憶體總量.

監視IIS需要的一些計數器 
Internet Information Services Global: 
File Cache Hits %、File CacheFlushes、File Cache Hits 
File Cache Hits %是全部快取請求中快取命中次數所佔的比例,反映了IIS 的檔案快取設定的工作情況。對於一個大部分是靜態網頁組成的網站,該值應該保持在80%左右。而File Cache Hits是檔案快取命中的具體值,File CacheFlushes 是自伺服器啟動之後檔案快取重新整理次數,如果重新整理太慢,會浪費記憶體;如果重新整理太快,快取中的物件會太頻繁的丟棄生成,起不到快取的作用。通過比較File Cache Hits 和File Cache Flushes 可得出快取命中率對快取清空率的比率。通過觀察它兩個的值,可以得到一個適當的重新整理值(參考IIS 的設定ObjectTTL 、MemCacheSize 、MaxCacheFileSize) 
Web Service: 
Bytes Total/sec:顯示Web伺服器傳送和接受的總位元組數。低數值表明該IIS正在以較低的速度進行資料傳輸。 
Connection Refused:數值越低越好。高數值表明網路介面卡或處理器存在瓶頸。 
Not Found Errors:顯示由於被請求檔案無法找到而無法由伺服器滿足的請求數(HTTP狀態程式碼404)