每次读取逻辑磁盘的平均时间(秒)

Microsoft.Windows.Server.2003.LogicalDisk.AvgDiskSecPerRead (UnitMonitor)

监视性能计数器 LogicalDisk\Avg Disk Sec Per Read

Knowledge Base article:

摘要

Avg. Disk sec/Read (LogicalDisk\Avg. Disk sec/Read) 超出了阈值。 依赖于此逻辑磁盘的应用程序的性能可能会受到负面影响,因为磁盘传送读取请求所需的时间非常长。

Avg. Disk sec/Read 计数器指明了特定逻辑磁盘平均读取数据的速度。

原因

Avg. Disk sec/Read 性能计数器值高可能是操作系统或应用程序的磁盘读取请求突然增加产生的。

解决方法

若要查看 Logical Disk\Avg. Disk sec/Read 性能计数器的最新历史记录,可使用以下视图:

启动 Logical Disk Avg. Disk Sec/Reads 性能视图

若要增加逻辑磁盘的可用存储子系统吞吐量,请执行以下一项或多项操作:

确保为你的特定存储硬件适当地设置此阈值。 阈值将会因磁盘的基本存储子系统而有所不同。 例如,“磁盘”可能是单轴或大容量磁盘阵列。

其他

Avg. Disk sec/Read 计数器对收集吞吐量数据很有用。 如果平均时间足够长,你可以分析数组响应特定负荷(队列、请求大小等等)的直方图。 如果可能,你应该分别观察工作负荷。

你可以使用吞吐量衡量标准确定:

但是,如果没有全面了解逻辑磁盘的基本存储子系统(例如,了解它是单轴还是大容量磁盘阵列),可能很难提供一个适合所有阈值的最佳大小。

你还必须将 Avg. Disk sec/Read 计数器与其他读取请求特性(例如,请求大小和随机性/有序性)和读取磁盘请求的等效计数器一起进行考虑。

如果一段时间内对 Avg. Disk sec/Read 计数器进行了跟踪,如果它随驱动读取请求的工作负荷强度增加,假设吞吐量没有增加并且整个系统的吞吐量开始降级,那么怀疑逻辑磁盘已经饱和是合乎情理的。

有关存储体系结构和驱动程序支持的详细信息,请参阅“存储 - 体系结构和驱动程序支持”网站,网址为 http://go.microsoft.com/fwlink/?LinkId=26156(页面可能为英文)。

Element properties:

TargetMicrosoft.Windows.Server.2003.LogicalDisk
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledFalse
Instance NameLogicalDisk
Counter NameAvg. Disk sec/Read
Frequency60
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableTrue
AccessibilityPublic
Alert Message
磁盘读取延迟太高
已超过 Logical Disk\Avg. Disk sec/Read 性能计数器的阈值。
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.2003.LogicalDisk.AvgDiskSecPerRead" Accessibility="Public" Enabled="false" Target="Microsoft.Windows.Server.2003.LogicalDisk" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SystemPerf!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.2003.LogicalDisk.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>LogicalDisk</ObjectName>
<InstanceName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</InstanceName>
<Frequency>60</Frequency>
<Threshold>0.04</Threshold>
<Direction>greater</Direction>
<NumSamples>15</NumSamples>
</Configuration>
</UnitMonitor>