最近在使用perfmon做性能測試時發現,“% Disk Time”計數器的值總是會大於100%。如下圖所示。
perfmon上對“% Disk Time”的中文描述為:
% Disk Time 指所選磁盤驅動器忙於為讀或寫入請求提供服務所用的時間的百分比。
既然是百分比,大於100是何意思?我百思不得其解。於是我找到了微軟的官方解答:
翻譯過來就是說,
“% Disk Time”計數器只不過是“Avg. Disk Queue Length”計數器乘以100,它是以不同比例顯示的相同值。
如果“Avg. Disk Queue Length”為1,“% Disk Time”將為100;
如果“Avg. Disk Queue Length”為0.37,“% Disk Time”將為37。
這就是為什么你會看到“% Disk Time”大於100%的原因:只需要“Avg. Disk Queue Length”大於1。
相同的邏輯適用於“% Disk Read Time”和“% Disk Write Time”。 他們的數據分別來自“Avg. Disk Read Queue Length”和“Avg. Disk Write Queue Length”。
PS:perfmon上對“Avg. Disk Queue Length”的中文描述為指讀取和寫入請求(為所選磁盤在實例間隔中列隊的)的平均數。
這么說來,“% Disk Time”和“Avg. Disk Queue Length”其實是一個東西,都是指讀取和寫入請求(為所選磁盤在實例間隔中列隊的)的平均數(個人感覺根本沒必要弄2個功能相同的計數器)。
再回頭看看perfmon上對“% Disk Time”的中文描述,個人感覺有很大的問題,完全在誤導用戶。