每次磁盘传输的平均时间

Microsoft.Windows.Client.XP.LogicalDisk.AvgDiskSecPerTransfer (UnitMonitor)

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

Knowledge Base article:

摘要

Avg.Disk sec/Transfer (LogicalDisk\Avg.Disk sec/Transfer) 超出了阈值。逻辑磁盘甚至总体系统性能都可能显著降低,并将导致操作系统和应用程序性能较差。

Avg.Disk sec/ Transfer 计数器测量特定逻辑磁盘上每秒执行的磁盘传输请求(I/O 请求数据包 (IRP))的平均速率。这是存储子系统吞吐量的一项指标。

原因

Avg.Disk sec/Transfer 性能计数器值高可能是操作系统或应用程序的磁盘传输请求突然增加所致。

解决方法

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

确保为您的特定存储硬件适当地设置此阈值。阈值将会因磁盘的基本存储子系统而有所不同。例如,“磁盘”可能是单轴或大容量磁盘阵列。您可以使用 MOM 替代值来定义例外阈值,该阈值可以应用于特定计算机或整个计算机组。

其他

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

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

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

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

如果一段时间内对 Avg.Disk sec/Transfers 计数器进行了跟踪,发现它随驱动传输请求的工作负荷强度增加,但吞吐量没有增加并且用户感觉到系统的吞吐量下降,那么怀疑逻辑磁盘已经饱和是合乎情理的。

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

Element properties:

TargetMicrosoft.Windows.Client.XP.LogicalDisk
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Instance NameLogicalDisk
Counter NameAvg. Disk sec/Transfer
Frequency60
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.AverageThreshold
RemotableTrue
AccessibilityPublic
Alert Message
磁盘传输(读取和写入)延迟太高
已超过 Logical Disk\Avg.Disk sec/Transfer 性能计数器的阈值。超过了阈值的值是: {0}.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Client.XP.LogicalDisk.AvgDiskSecPerTransfer" Accessibility="Public" Enabled="onEssentialMonitoring" Target="Microsoft.Windows.Client.XP.LogicalDisk" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SystemPerf!System.Performance.AverageThreshold" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Client.XP.LogicalDisk.AvgDiskSecPerTransfer.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/Transfer</CounterName>
<ObjectName>LogicalDisk</ObjectName>
<InstanceName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</InstanceName>
<Frequency>60</Frequency>
<Threshold>50</Threshold>
<NumSamples>5</NumSamples>
</Configuration>
</UnitMonitor>