每次磁碟讀取的平均秒數

Microsoft.Windows.Client.2000.PhysicalDisk.AvgDiskSecPerRead (UnitMonitor)

監視每次對磁碟進行讀取作業的平均秒數。

Knowledge Base article:

摘要

實體磁碟的 Avg. Disk sec/Read (PhysicalDisk\Avg. Disk sec/Read) 已超過閾值。實體磁碟甚至於整體系統效能可能將明顯降低,從而導致作業系統與應用程式效能不良。

Avg. Disk sec/Read 計數器會測量特定實體磁碟上每秒執行的磁碟讀取要求 (I/O 要求封包,即 IRP) 的平均速率。這是對儲存子系統輸送量的一種測量。

原因

Avg. Disk sec/Read 效能計數器值可能偏高,原因在於來自作業系統或應用程式的磁碟讀取要求突然暴增。

解決方式

若要檢視 Physical Disk\Avg. Disk sec/Read 效能計數器的最近歷程,可使用下列檢視:

啟動 Physical Disk\Disk Reads/sec 效能檢視

若要增加實體磁碟的可用儲存子系統輸送量,請執行下列一項或多項操作:

請務必針對特定儲存硬體適當地設定此閾值。此閾值會因磁碟的基礎儲存子系統而異。例如,「磁碟」可能是單一磁針或大型磁碟陣列。

其他

Avg. Disk sec/Read 計數器在收集輸送量資料時很有用。如果平均時間夠長,您可以分析陣列回應特定負載的長條圖 (佇列、要求大小等)。可能的話,您應該分別觀察工作負載。

您可以使用輸送量指標來確定:

但是,如果對實體磁碟的基礎儲存子系統沒有全面的了解 (例如,了解它是單一磁針還是大型磁碟陣列),就很難提供一個適合所有閾值的最佳大小。

您還必須將 Avg. Disk sec/Read 計數器與其他讀取要求特性 (例如,要求大小和隨機性/連續性) 以及讀取磁碟要求的對等計數器一併考量。

如果追蹤 Avg. Disk sec/Read 計數器一段時間,該計數器會隨著控制讀取要求的工作負載強度而增加,則在輸送量不再增加,並且整體系統輸送量開始下降時,可合理地懷疑實體磁碟已飽和。

如需關於存放結構與驅動程式支援的詳細資訊,請參閱<儲存體 - 封存與驅動程式支援>網站,網址為 http://go.microsoft.com/fwlink/?LinkId=26156 (英文)。

Element properties:

TargetMicrosoft.Windows.Client.2000.PhysicalDisk
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Instance NamePhysicalDisk
Counter NameAvg. Disk sec/Read
Frequency60
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.AverageThreshold
RemotableTrue
AccessibilityPublic
Alert Message
磁碟讀取延遲過長
Physical Disk\Avg. Disk sec/Read 效能計數器已超過閾值。以下的值已超過閾值: {0}。
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Client.2000.PhysicalDisk.AvgDiskSecPerRead" Accessibility="Public" Enabled="onEssentialMonitoring" Target="Microsoft.Windows.Client.2000.PhysicalDisk" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SystemPerf!System.Performance.AverageThreshold" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Client.2000.PhysicalDisk.AvgDiskSecPerRead.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Value$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="OverThreshold" MonitorTypeStateID="OverThreshold" HealthState="Error"/>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="UnderThreshold" HealthState="Success"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>Avg. Disk sec/Read</CounterName>
<ObjectName>PhysicalDisk</ObjectName>
<InstanceName>$Target/Property[Type="WindowsClient!Microsoft.Windows.Client.PhysicalDisk"]/PerfmonInstance$</InstanceName>
<Frequency>60</Frequency>
<Threshold>50</Threshold>
<NumSamples>5</NumSamples>
</Configuration>
</UnitMonitor>