每次写入磁盘的平均时间(秒) (逻辑磁盘)

Microsoft.Windows.Server.10.0.LogicalDisk.AvgDiskSecPerWrite (UnitMonitor)

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

Knowledge Base article:

摘要

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

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

原因

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

解决方法

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

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

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

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

其他

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

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

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

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

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

有关存储体系结构和驱动程序支持的详细信息,请参阅“存储 - 体系结构和驱动程序支持”网站 http://go.microsoft.com/fwlink/?LinkId=26156

Element properties:

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

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.10.0.LogicalDisk.AvgDiskSecPerWrite" Accessibility="Public" Enabled="false" Target="ServervNext!Microsoft.Windows.Server.10.0.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.10.0.LogicalDisk.AvgDiskSecPerWrite.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/Write</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>