1. 程式人生 > >效能測試之效能監視器(處理器篇windows)

效能測試之效能監視器(處理器篇windows)

監視“處理器”和“系統”物件計數器可以提供關於處理器使用的有價值的資訊,幫助您決定是否存在瓶頸。需要包含下列內容:

Processor\ % Total Processor Time 獲得處理器整體使用情況。

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

要注意的是,由於作業系統本身的特性,在某些多CPU系統中,該資料本身並不大,但此時CPU之間的負載狀況極不均衡,此時也應該視作系統產生了處理器方面的瓶頸。

監視 Processor\ % Processor Time、Processor\ % User Time 和 % Privileged Time 以獲得詳細資訊。

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

System\ Processor Queue Length 用於瓶頸檢測。

%Total Processor Time

系統中所有處理器都處於繁忙狀態的時間百分比,對於多處理器系統來說,該值可以反映所有處理器的平均繁忙狀態,該值為100%,如果有一半的處理器為繁忙狀態,該值為50%

File Data Operations/sec

計算機對檔案系統進行讀取和寫入操作的頻率,但是不包括檔案控制操作

Process Queue Length

執行緒在等待分配CPU資源所排佇列的長度,此長度不包括正在佔有CPU資源的執行緒。如果該佇列的長度大於處理器個數+1,就表示處理器有可能處於阻塞狀態(參考值:<=處理器個數+1)

%Processor Time

CPU利用率,該計數器最為常用,可以檢視處理器是否處於飽和狀態,如果該值持續超過 95%,就表示當前系統的瓶頸為CPU,可以考慮增加一個處理器或更換一個性能更好的處理器。(參考值:<80%)

%Priviliaged Time

CPU在特權模式下處理執行緒所花的時間百分比。一般的系統服務,進城管理,記憶體管理等一些由作業系統自行啟動的程序屬於這類

%User Time

與%Privileged Time計數器正好相反,指的是在使用者狀態模式下(即非特權模式)的操作所花的時間百分比。如果該值較大,可以考慮是否通過演算法優化等方法降低這個值。如果該伺服器是資料庫伺服器,導致此值較大的原因很可能是資料庫的排序或是函式操作消耗了過多的CPU時間,此時可以考慮對資料庫系統進行優化。

%DPC Time

處理器在網路處理上消耗的時間,該值越低越好。在多處理器系統中,如果這個值大於50%並且%Processor Time非常高,加入一個網絡卡可能會提高效能。

觀察處理器使用情況的值

要測量處理器的活動,請檢視 Processor\ % Processor Time 計數器。該計數器顯示處理器忙於執行非空閒執行緒所耗時間的百分比。

檢查處理器使用時,請考慮計算機的角色和所完成工作的型別。根據計算機進行的工作,較高的處理器值意味著系統正有效地處理較重的工作負載或正在努力維持。例如,如果正在監視使用者的計算機,並且該計算機用於計算,計算程式可能容易使用 100% 的處理器時間。即使這會造成該計算機中其他應用程式的效能受到影響,但可以通過改變負載來解決。

另一方面,在處理許多客戶請求的伺服器計算機中,100% 左右的值表示這些過程在佇列中,正在等待處理器時間,並且造成瓶頸。如此持續高層次的處理器使用對伺服器而言是無法接受的。

考察處理器瓶頸

程序的執行緒所需要的處理器週期超出可用週期時,處理器瓶頸將逐步顯示出來。可以建立較長的處理器佇列,並且系統響應會受到影響。處理器瓶頸兩種常見的原因是 CPU 限制程式和產生過多中斷的驅動程式或子系統元件。

要決定是否由於對處理器時間的要求較高而存在處理器瓶頸,請檢視 System\ Processor Queue Length 計數器。佇列中包含兩個或更多的專案則表明存在瓶頸。如果多個程式程序競爭大多數處理器時間,安裝更快速的處理器會提高吞吐量。如果正在執行多執行緒的程序,附加處理器會有所幫助,但是請注意,附加處理器可能只有有限的益處。

此外,跟蹤計算機的伺服器工作隊列當前長度的 Server Work Queues\ Queue Length 計數器會顯示出處理器瓶頸。佇列長度持續大於 4 則表示可能出現處理器擁塞。此計數器是特定時間的值,而不是一段時間的平均值。

要決定中斷活動是否造成瓶頸,請觀察 Processor\ Interrupts/sec 計數器的值,該計數器測量來自輸入/輸出 (I/O) 裝置的服務請求的速度。如果此計數器的值明顯增加,而系統活動沒有相應增加,則表明存在硬體問題。

也可以對生成中斷的磁碟驅動器、網絡卡和其他裝置活動的間接指示器監視 Processor\ % Interrupt Time 時間。

注意

 要檢測可能影響處理器效能的硬體問題,例如 IRQ 衝突,請觀察 System\ File Control Bytes/second 的值。

 監視多處理器系統

 要觀察多處理器計算機的效率,請使用下列附加計數器。

 計數器

 說明

 Process\ % Processor Time

 過程的所有執行緒在每個處理器上的處理器時間總和。

 Processor(_Total)\ % Processor Time

 計算機中所有處理器的處理器活動的度量。

 “N[{y8_0此計數器取樣間隔期間的所有處理器平均非空閒時間的總和,並用處理器數目除以該和。

 例如,如果所有處理器平均忙半個取樣間隔,則顯示 50%。如果半數處理器忙整個間隔,而其他的處理器空閒,則也顯示 50%。

  Thread\ % Processor Time

  執行緒的處理器時間數