By default, I/O throttling is turned on for all paths with DMP configured to wait for a maximum of 10 seconds for outstanding I/O requests to succeed. To display the current settings for I/O throttling that are applied to the paths to an enclosure, array name or array type, use the vxdmpadm
getattr
command:
{enclosure enc-name
|arrayname name|arraytype
type}\
See "Displaying recovery option values" on page 169.
The following example displays the I/O throttling setting for the paths to the enclosure enc0
:
# vxdmpadm getattr enclosure enc0 recoveryoption
If enabled, I/O throttling imposes a small overhead on CPU and memory usage because of the activity of the statistics-gathering daemon. If I/O throttling is disabled, the daemon no longer collects statistics, and remains inactive until I/O throttling is re-enabled.
To turn off I/O throttling, use the following form of the vxdmpadm
setattr
command:
{enclosure enc-name
|arrayname name|arraytype
type}\
The following example shows how to disable I/O throttling for the paths to the enclosure enc0
:
# vxdmpadm setattr enclosure enc0 recoveryoption=nothrottle
The vxdmpadm setattr
command can be used to enable I/O throttling on the paths to a specified enclosure, disk array name, or type of array:
{enclosure enc-name
|arrayname name|arraytype
type}\
recoveryoption=throttle
{iotimeout=
seconds|queuedepth=
n}
If the iotimeout
attribute is specified, its argument specifies the time in seconds that DMP waits for an outstanding I/O request to succeed before invoking I/O throttling on the path. The default value of iotimeout
is 10 seconds. Setting iotimeout
to a larger value potentially causes more I/O requests to become queued up in the SCSI driver before I/O throttling is invoked.
If the queuedepth
attribute is specified, its argument specifies the number of I/O requests that can be outstanding on a path before DMP invokes I/O throttling. The default value of queuedepth
is 20. Setting queuedepth
to a larger value allows more I/O requests to become queued up in the SCSI driver before I/O throttling is invoked.
Note
The iotimeout
and queuedepth
attributes are mutually exclusive.
The following example sets the value of iotimeout
to 60 seconds for the enclosure enc0
:
# vxdmpadm setattr enclosure enc0 recoveryoption=throttle \
The next example sets the value of queuedepth
to 30 for the paths to all Active/Active arrays:
# vxdmpadm setattr arraytype A/A recoveryoption=throttle \
Specifying recoveryoption=default
resets I/O throttling to the default settings corresponding to recoveryoption=throttle
iotimeout=10
, for example:
# vxdmpadm setattr arraytype A/A recoveryoption=default
This command also has the effect of configuring a fixed-retry limit of 5 on the paths.
See "Configuring the response to I/O failures" on page 166.
Note The I/O throttling settings are persistent across reboots of the system.