每次實體磁碟讀取的平均秒數

Microsoft.Windows.Server.2008.PhysicalDisk.AvgDiskSecPerRead (UnitMonitor)

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

Knowledge Base article:

摘要

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

Avg. Disk sec/Read 計數器會測量磁碟的資料讀取平均時間。

原因

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

解決方式

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

啟動實體磁碟效能檢視

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

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

其他

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

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

1. 指定主機系統上執行的工作負載行為。 您可以追蹤磁碟讀取要求在一段時間內的工作負載需求。 工作負載特性是效能分析與容量規劃中很重要的一部分。

2. 指定儲存子系統提供的尖峰與持續效能等級。 工作負載可用於將儲存子系統 (在此情況下為指定的實體磁碟) 以人為或自然方式推向其限制。 確定這些限制可為系統設計人員與系統管理員提供有用的設定資訊。

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

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

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

如需關於存放結構與驅動程式支援的詳細資訊,請參閱「Storage - Architecture and Driver Support」(儲存體 - 封存與驅動程式支援) 網站,網址為 http://go.microsoft.com/fwlink/?LinkId=26156

Element properties:

TargetMicrosoft.Windows.Server.2008.PhysicalDisk
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledFalse
Instance NamePhysicalDisk
Counter NameAvg. Disk sec/Read
Frequency60
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableTrue
AccessibilityPublic
Alert Message
磁碟讀取延遲過長
Physical Disk\Avg. Disk sec/Read 效能計數器已超過閾值。
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.2008.PhysicalDisk.AvgDiskSecPerRead" Accessibility="Public" Enabled="false" Target="Server2008!Microsoft.Windows.Server.2008.PhysicalDisk" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SystemPerf!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.2008.PhysicalDisk.AvgDiskSecPerRead.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters/>
</AlertSettings>
<OperationalStates>
<OperationalState ID="OverThreshold" MonitorTypeStateID="ConditionTrue" HealthState="Warning"/>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="ConditionFalse" 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="WindowsServer!Microsoft.Windows.Server.PhysicalDisk"]/PerfmonInstance$</InstanceName>
<Frequency>60</Frequency>
<Threshold>0.04</Threshold>
<Direction>greater</Direction>
<NumSamples>15</NumSamples>
</Configuration>
</UnitMonitor>