Volume Read IOP Performance

NetAppESeries.Volume.Read.IOP (UnitMonitor)

Read I/O per second measurement for NetApp E-Series volumes.

Knowledge Base article:

Summary

The volumes listed in this alert are candidates for performance investigation. Volume IOPs are I/O operations per second measured at the NetApp E-Series storage array. The measurement is the rate at which the storage array can process a request (read or write) from hosts or applications once it arrives at the storage system.

Configuration

NetApp recommends tuning volume IOPs thresholds from high to low until a reasonable response time for the particular workload is determined. If storage arrays have different workloads, it is recommended to override this monitor on an array basis. Or if a similar workload is expected across all storage arrays monitored by a single agent, then the NetApp.ESeries.PerformanceOverrides.xml file can be used to override performance thresholds for all storage arrays.

Causes

Periodic operations like batch updating, backups and synchronizations can cause volume IOP rates to elevate. Depending on the operation and the time of day it occurs, the elevated IOPs are completely normal and expected. Protracted high periods of IOPs warrant an investigation of storage array components and configuration.

Resolutions

After investigation if the IOPs are reasonable then the threshold for this monitor will need to be adjusted with the NetApp.ESeries.PerformanceOverrides.xml override file. NetApp recommends tuning volume IOPs thresholds from low to high until a reasonable reading for the particular workload is determined so that false alerts are minimized.

If storage arrays have different workloads, it is recommended to override this monitor on an array basis.

If the threshold setting is appropriate for the workload then configuration tuning may be required to return the volume performance back to desired specifications.

The NetApp E-Series Integration pack includes a PowerShell script (Get-SDVolumePerformance.ps1) that can be used to facilitate performance investigations. The script will pull or poll performance data used by the performance monitors in the management pack. Please see the script help or product user guide for configuration details.

Element properties:

TargetNetAppESeries.StorageArray
Parent MonitorNetAppESeries.StorageArrayPerformance
CategoryCustom
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeNetAppESeries.PerformanceMonitorType
RemotableTrue
AccessibilityInternal
Alert Message
Alert: Volume IOPs (Read)
The read IOPs threshold has been exceeded.
Volume Data: {0}
RunAsDefault

Source Code:

<UnitMonitor ID="NetAppESeries.Volume.Read.IOP" Accessibility="Internal" Enabled="true" Target="NetAppESeries.StorageArray" ParentMonitorID="NetAppESeries.StorageArrayPerformance" Remotable="true" Priority="Normal" TypeID="NetAppESeries.PerformanceMonitorType" ConfirmDelivery="true">
<Category>Custom</Category>
<AlertSettings AlertMessage="NetAppESeries.Volume.Read.IOP_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='VolumeName']$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UIGeneratedOpStateIda16aed6674dc413a96a2488e89e99182" MonitorTypeStateID="PerformanceAlert" HealthState="Warning"/>
<OperationalState ID="UIGeneratedOpStateId2377f5da03834cc1af1a594df8c046cc" MonitorTypeStateID="PerformanceAcceptable" HealthState="Success"/>
</OperationalStates>
<Configuration>
<PerformanceMetric>Volume Read IOPs</PerformanceMetric>
<PerformanceThresholdMilliseconds>1000</PerformanceThresholdMilliseconds>
<IntervalSeconds>303</IntervalSeconds>
<TimeoutSeconds>59</TimeoutSeconds>
<Trace>0</Trace>
</Configuration>
</UnitMonitor>