經過Windows常見性能計數器分析服務器性能瓶頸

轉載 http://www.cnblogs./junzhongxu/archive/2011/02/15/1954889.htmlhtml

監測對象算法

Ø System(系統)sql

l %Total Processor Time數據庫

系統中全部處理器都處於繁忙狀態的時間百分比,對於多處理器系統來講,該值能夠反映全部處理器的平均繁忙狀態,該值爲100%,若是有一半的處理器爲繁忙狀態,該值爲50%服務器。器消耗的處理器時間數量.若是服務器專用於sql server可接受的最大上限是80% -85 %.也就是常見的CPU 使用率. l File Data Operations/sec緩存

計算機對文件系統進行讀取和寫入操做的頻率,可是不包括文件控制操做 l Process Queue Length服務器

線程在等待分配CPU資源所排隊列的長度,此長度不包括正在佔有CPU資源的線程。若是該隊列的長度大於處理器個數+1,就表示處理器有可能處於阻塞狀態(參考值:<=處理器個數+1)網絡

Ø Processor(處理器)併發

l %Processor Time函數

CPU利用率,該計數器最爲經常使用,能夠查看處理器是否處於飽和狀態,若是該值持續超過 95%,就表示當前系統的瓶頸爲CPU,能夠考慮增長一個處理器或更換一個性能更好的處理器。(參考值:<80%)性能

l %Priviliaged Time

CPU在特權模式下處理線程所花的時間百分比。通常的系統服務,進城管理,內存管理等一些由操做系統自行啓動的進程屬於這類

l %User Time

與%Privileged Time計數器正好相反,指的是在用戶狀態模式下(即非特權模式)的操做所花的時間百分比。若是該值較大,能夠考慮是否經過算法優化等方

法下降這個值。如 果該服務器是數據庫服務器,致使此值較大的緣由極可能是數據庫的排序或是函數操做消耗了過多的CPU時間,此時能夠考慮對數據庫系統進行優化。表示耗費 CPU的數據庫操做,如排序,執行aggregate functions等。若是該值很高,可考慮增長索引,儘可能使用簡單的表聯接,水平分割大表格等方法來下降該值。

l %DPC Time

處理器在網絡處理上消耗的時間,該值越低越好。越低越好。在多處理器系統中,若是這個值大於50%而且Processor:% Processor Time很是高,加入一個網卡可能會提升性能,提供的網絡已經不飽和。

Ø Memory(內存)

l Page Faults/sec

當處理器在內存中讀取某一頁出現錯誤時,就會產生缺頁中斷,也就是 page Fault。若是這個頁位於內存的其餘位 置,這種錯誤稱爲軟錯誤,用Transition Fault/sec 來衡量;若是這個頁位於硬盤上,必須從硬盤從新讀取,這個錯誤成爲硬錯誤。硬錯誤會使系統的運行效率很快將下來。Page Faults/sec這個計數器就表示每秒鐘處理的錯誤頁數,包括硬錯誤和軟錯誤。

l Page Input/sec

表示爲了解決硬錯誤而寫入硬盤的頁數(參考值:>=Page Reads/sec) l Page Reads/sec

表示爲了解決硬錯誤而從硬盤上讀取的頁數。

l Page/sec

表示爲了解決硬錯誤而從硬盤上讀取或寫入硬盤的頁數(參考值:00~20) l Pages per second:

每秒鐘檢索的頁數。該數字應少於每秒一頁Working set:理線程最近使用的內存頁,反映了每個進程使用的內存頁的數量。若是服務器有足夠的空閒內存,頁就會被留在工做集中,當自由內存少於一個特定的閾值時,頁就會被清除出工做集。

l Available Mbytes

剩餘的可用物理內存,單位是兆字節(參考值:>=10%)用物理內存數. 若是Available Mbytes的值很小(4 MB 或更小),則說明計算機上總的內存可能不足,或某程序沒有釋放內存。

l Cathe Bytes

文件系統的緩存(默認爲50%的可用物理內存)

Ø Process(進程)

l private Bytes

進程沒法與其餘進程共享的字節數量。該計數器的值較大時,有多是內存泄露的信號

l Work set

最近處理線程使用的內存頁

Ø PhysicalDisk(磁盤)

l %Disk Time

表示磁盤驅動器爲讀取或寫入請求提供服務所用的時間百分比,若是隻有%Disk Time比較大,硬盤有多是瓶頸。指所選磁盤驅動器忙於爲讀或寫入請求提供服務所用的時間的百分比。若是三個計數器都比較大,那麼硬盤不是瓶頸。若是隻 有%Disk Time比較大,另外兩個都比較適中,硬盤可能會是瓶頸。在記錄該計數器以前,請在Windows 2000的命令行窗口中運行diskperf -yD。若數值持續超過80%,則多是內存泄漏。應當總小於90%

l Average Disk Queue Length

表示磁盤讀取和寫入請求提供服務所用的時間百分比,能夠經過增長磁盤構造磁盤陣列來提升性能(<=磁盤數的2倍)讀取和寫入請求(爲所選磁盤 在實例間隔中列隊的)的平均數。該值應不超過磁盤數的1.5~2 倍。要提升性能,可增長磁盤。注意:一個Raid Disk實際有多個磁盤。不該當超過物理磁盤數量的2倍,正常值<0.5

l Average Disk Read Queue Length

表示磁盤讀取請求的平均數

l Average Disk write Queue Length

表示磁盤寫入請求的平均數

l Average Disk sec/Read

磁盤中讀取數據的平均時間,單位是秒

l Average Disk sec/Transer

磁盤中寫入數據的平均時間,單位是秒,通常來講,定義該值小於15ms最爲優異,介於15-30ms之間爲良好,30-60ms之間爲能夠接受,超過60ms則須要考慮更換硬盤或硬盤的RAID方式了

l %Disk reads/sec(physicaldisk_total):

每秒讀硬盤字節數. 該指標應總小於磁盤I/O子系統的容量

l %Disk write/sec(physicaldisk_total):

每秒寫硬盤字節數. 該指標應當總小於硬盤I/O子系統的容量

l Disk Bytes/sec

指在進行寫入或讀取操做時從磁盤上傳送或傳出的字節速率。

此值取決於硬盤的速度

l Disk Transfers/sec

指在此盤上讀取/寫入操做速率。

正常值<(Disk Bytes/sec)/3,此值過大表示系統要求的IO速度已接近硬盤的最大速度,要更換更快的硬盤 D

Ø Network Interface(網絡)

l Byte Total/sec

表示網絡中接受和發送字節的速度,能夠用該計數器來判斷網絡是否存在瓶頸(參考值:該計數器和網絡帶寬相除,<50%)

判斷瓶頸

Ø 判斷應用程序的問題

若是系統因爲應用程序代碼效率低下或者系統結構設計有缺陷而致使大量的上下文切換(context switches/sec顯示的上下文切換次數過高)那麼就會佔用大量的系統資源,若是系統的吞吐量下降而且CPU的使用率很高,而且此現象發生時切換水平在15000以上,那麼意味着上下文切換次數過

.

從圖的總體看.context switches/sec變化不大,throughout曲線的斜率較高,而且此時的contextswitches/sec已經超過了15000.程序仍是須要進一步優化. Ø 判斷CPU瓶頸

若是processor queue length顯示的隊列長度保持不變(>=2)個而且處理器的利用率%Processortime超過90%,那麼極可能存在處理器瓶頸.若是發現

processor queue length顯示的隊列長度超過2,而處理器的利用率卻一直很低,或許更應該去解決處理器阻塞問題,這裏處理器通常不是瓶頸

.

%processor time平均值大於95,processor queue length大於2.能夠肯定CPU瓶頸.此時的CPU已經不能知足程序須要.急需擴展.

CPU資源成爲系統性能的瓶頸的徵兆:

很慢的響應時間(slow response time)

CPU空閒時間爲零(zero percent idle CPU)

太高的用戶佔用CPU時間(%User Time)

太高的系統佔用CPU時間(%Priviliaged Time:長期大於90%或者95%)

長時間的有很長的運行進程隊列(Process Queue Lengt:大於處理器個數+1) Ø 判斷內存泄露問題

內存問題主要檢查應用程序是否存在內存泄漏,若是發生了內存泄

漏,processprivate bytes計數器和processworking set 計數器的值每每會升高,同時avaiable bytes的值會下降.內存泄漏應該經過一個長時間的,用來研究分析全部內存都耗盡時,應用程序反應狀況的測試來檢驗

.

圖中能夠看到該程序並不存在內存泄露的問題.內存泄露問題常常出如今服務長時間運轉的時候,因爲部分程序對內存沒有釋放,而將內存慢慢耗盡.也是提醒你們對系統穩定性測試的關注.

Windows資源監控中,若是ProcessPrivate Bytes計數器和ProcessWorking Set計數器的值在長時間內持續升高,同時MemoryAvailable bytes計數器的值持續下降,則極可能存在內存泄漏。

Ø 判斷內存不足

若是隊列長度(Avg.Disk Queue Length)增長的同時頁面讀取速率(Page Reads/sec)並未下降,則內存不足。

若是Available Mbytes(剩餘物理內存數)的值很小(4 MB 或更小),則說明計算機上總的內存可能不足,或某程序沒有釋放內存。

Ø 硬件問題

請觀察 Processor Interrupts/sec 計數器的值,該計數器測量來自輸入/輸出 (I/O) 設備的服務請求的速度。若是此計數器的值明顯增長,而系統活動沒有相應增長,則代表存在硬件問題。

Ø I/O資源成爲系統性能的瓶頸的徵兆

IO Data Bytes/sec(處理從I/O操做讀取/寫入字節的速度。這個計數器爲全部由本處理產生的包括文件、網絡和設備I/O的活動計數。)

IO Data Operations/sec

IO Other Bytes/sec

IO Other Operations/sec

IO Read Bytes/sec(每秒IO讀取字節數)

IO Read Operations/sec

IO Write Bytes/sec(每秒IO寫出字節數)

IO Write Operations/sec

太高的磁盤利用率(high disk utilization)

太長的磁盤等待隊列(Physical Disk Current Disk Queue Length,正在等待磁盤訪問的系統請求數量)

等待磁盤I/O的時間所佔的百分率過高(Average Disk Queue Length)

過高的物理I/O速率:large physical I/O rate(not sufficient in itself) 太低的緩存命中率(low buffer cache hit ratio(not sufficient in itself)) 太長的運行進程隊列,但CPU卻空閒(Process Queue Length)

在方案運行中,若是出現了大於3個用戶的業務操做失敗,或出現了服務器shutdown的狀況,則說明在當前環境下,系統承受不了當前併發用戶的負載壓力,那麼最大併發用戶數就是前一個沒有出現這種現象的併發用戶數 Ø 監視磁盤的使用狀況

監視磁盤活動涉及兩個主要方面:

監視磁盤 I/O 及檢測過分換頁

 隔離 SQL Server 產生的磁盤活動 

監視磁盤 I/O 及檢測過分換頁

能夠對下面兩個計數器進行監視以肯定磁盤活動:

PhysicalDisk: % Disk Time

 PhysicalDisk: Avg. Disk Queue Length 

在系統監視器中,PhysicalDisk:% Disk Time計數器監視磁盤忙於讀/寫活動所用時間的百分比。若是 PhysicalDisk: % Disk Time計數器的值較高(大於 90%),請檢查PhysicalDisk: Current Disk Queue Length計 數器瞭解等待進行磁盤訪問的系統請求數量。等待 I/O 請求的數量應該保持在不超過組成物理磁盤的軸數的 1.5 到 2 倍。大多數磁盤只有一個軸,但獨立磁盤冗餘陣列 (RAID) 設備一般有多個軸。硬件 RAID 設備在系統監視器中顯示爲一個物理磁盤。經過軟件建立的多個 RAID 設備在系統監視器中顯示爲多個實例。

可使用 Current Disk Queue Length和 % Disk Time計數器的值檢測磁盤子系統中的瓶頸。若是 Current Disk Queue Length和 % Disk Time計數器的值一直很高,則考慮下列事項:

使用速度更快的磁盤驅動器。

 將某些文件移至其餘磁盤或服務器。

 若是正在使用一個 RAID 陣列,則在該陣列中添加磁盤。 

若是使用 RAID 設備,% Disk Time計數器會指示大於 100% 的值。若是出現這種狀況,則使用 PhysicalDisk: Avg.Disk Queue Length計數器來肯定等待進行磁盤訪問的平均系統請求數量。

I/O 依賴的應用程序或系統可能會使磁盤持續處於活動狀態。

監視 Memory: Page Faults/sec計數器能夠確保磁盤活動不是由分頁致使的。在 Windows 中,換頁的緣由包括:

配置進程佔用了過多內存。

 文件系統活動。 

若是在同一硬盤上有多個邏輯分區,請使用 Logical Disk計數器而非 Physical Disk計數器。查看邏輯磁盤計數器有助於肯定哪些文件被頻繁訪問。當發現磁盤有大量讀/寫活動時,請查看讀寫專用計數器以肯定致使每一個邏輯卷負荷增長的磁盤活動類型,例如,Logical Disk: Disk Write Bytes/sec。

Ø 判斷磁盤瓶頸

Disk Time和Avg.Disk Queue Length的值很高,而Page Reads/sec頁面讀取操做速率很低,則可能存在磁盤瓶徑。

Physical Disk Disk Reads/sec and Disk Writes/sec

Physical Disk Current Disk Queue Length

Physical Disk % Disk Time

LogicalDisk % Free Space

測試磁盤性能時,將性能數據記錄到另外一個磁盤或計算機,以便這些數據不會干擾您正在測試的磁盤。

可能須要觀察的附加計數器包括 Physical Disk Avg.Disk sec/Transfer 、Avg.DiskBytes/Transfer,和Disk Bytes/sec。

Avg.Disk sec/Transfer 計數器反映磁盤完成請求所用的時間。較高的值代表磁盤控制器因爲失敗而不斷重試該磁盤。這些故障會增長平均磁盤傳送時間。對於大多數磁盤,較高的磁盤平均傳送時間是大於 0.3 秒。

也能夠查看 Avg.Disk Bytes/Transfer 的值。值大於 20 KB 表示該磁盤驅動器一般運行良好;若是應用程序正在訪問磁盤,則會產生較低的值。例如,隨機訪問磁盤的應用程序會增長平均 Disk sec/Transfer 時間,由於隨機傳送須要增長搜索時間。

Disk Bytes/sec 提供磁盤系統的吞吐率。

決定工做負載的平衡要平衡網絡服務器上的負載,須要瞭解服務器磁盤驅 動器的繁忙程度。使用 Physical Disk %Disk Time 計數器,該計數器顯示驅動器活動時間的百分比。若是 % Disk Time 較高(超過90%),請檢查 Physical Disk Current Disk Queue Length 計數器以查看正在等待磁盤訪問的系統請求數量。等待 I/O 請求的數量應當保持在不大於組成物理磁盤的主軸數的 1.5 到2倍。 儘管廉價磁盤冗餘陣列 (RAID) 設備一般有多個主軸,大多數磁盤有一個主軸。硬件 RAID設備在「系統監視器」中顯示爲一個物理磁盤;經過軟件建立的 RAID 設備顯示爲多個驅動器(實例)。能夠監視每一個物理驅動器(而不是 RAID)的 Physical Disk 計數器,也可使用 _Total 實例來監視全部計算機驅動器的數據。

使用 Current Disk Queue Length 和 % Disk Time 計數器來檢測磁盤子系統的瓶頸。若是Current Disk Queue Length 和 % Disk Time 的值始終較高,能夠考慮升級磁盤驅動器或將某些文件移動到其餘磁盤或服務器。

本文檔下載自360文檔中心,www.360docs.net更多營銷,職業規劃,工做簡歷,入黨,工做報告,總結,學習資料,學習總結,PPT模板下載,範文等文檔下載;轉載請保留出處:http://www.360docs.net/doc/info-4357972e647d27284b7351e0.html

相關文章
相關標籤/搜索