性能測試之處理器篇(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 計數器。隊列中包含兩個或更多的項目則表明存在瓶頸。如果多個程序進程競爭大多數處理器時間,安裝更快速的處理器會提高吞吐量。如果正在運行多線程的進程,附加處理器會有所幫助,但是請注意,附加處理器可能只有有限的益處。
原文轉自:http://www.uml.org.cn/Test/201307195.asp