每次物理磁盘传输的平均时间(秒)

Microsoft.Windows.Server.10.0.PhysicalDisk.AvgDiskSecPerTransfer (UnitMonitor)

监视磁盘读取和写入延迟(每次磁盘传输的平均时间)。

Knowledge Base article:

摘要

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

Avg.Disk sec/Transfer 计数器测量磁盘数据读写的平均时间。

Avg.Disk sec/ Transfer 计数器由读写磁盘传输请求组成。要查看读写传输请求的最近磁盘平均速度,可使用以下视图:

Physical Disk\Avg.Disk Sec/Reads 性能视图

Physical Disk\Avg.Disk Sec/Writes 性能视图

原因

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

解决方法

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

启动物理磁盘性能视图

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

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

其他

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

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

1. 在指定主系统上运行的工作负荷的行为。可以跟踪在一段时间内磁盘传输请求的工作负荷要求。工作负荷特性是性能分析和容量规划的一个重要部分。

2. 指定存储子系统提供的性能峰值和可持续级别。工作负荷可以用于人为或自然地将存储子系统(在这种情况下为指定的物理磁盘)推动到其限制。确定这些限制可以为系统设计人员和管理员提供有用的配置信息。

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

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

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

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

Element properties:

TargetMicrosoft.Windows.Server.10.0.PhysicalDisk
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Instance NamePhysicalDisk
Counter NameAvg. Disk sec/Transfer
Frequency60
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableTrue
AccessibilityPublic
Alert Message
物理磁盘传输(读取和写入)延迟太高
已超过 Physical Disk\Avg.Disk sec/Transfer 性能计数器的阈值。
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.10.0.PhysicalDisk.AvgDiskSecPerTransfer" Accessibility="Public" Enabled="true" Target="ServervNext!Microsoft.Windows.Server.10.0.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.10.0.PhysicalDisk.AvgDiskSecPerTransfer.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/Transfer</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>