Problem
How to change the DMP I/O policy and monitor for performance
Solution
This article is a part of a set on troubleshooting volume performance. Click here to start at the beginning: https://www.veritas.com/docs/000087750 |
Table of Contents
Introduction
Determining the current I/O policy
Changing the I/O policy
Measuring DMP I/O performance using vxdmpadm iostat
Introduction
(Back to top)
When troubleshooting storage performance, review the DMP I/O policy for the disks. In some cases, switching to a different I/O policy may improve performance. For active/active arrays, "MinimumQ" (also known as "Least Queue Depth") is the default I/O policy, and it often provides the best I/O performance with little configuration required. The optimal I/O policy will always depend on the environment and the type of I/O.
Determining the current I/O policy
(Back to top)
Follow these steps to determine the current DMP I/O policy and change it, if needed:
- Use vxdmpadm listenclosure all to find the names of all attached disk enclosures (Figure 1).
- Use vxdmpadm getattr enclosure <enclosure_name> iopolicy to determine the DMP I/O policy of a specific enclosure (Figure 2).
In Figure 1, two enclosures are listed. "Disk" is a generic ASL that was loaded for the internal (non-SAN) disks. The name of the SAN disk array "ams_wms0."
Figure 1 - Using vxdmpadm to generate a list of available disk enclosures
Syntax: vxdmpadm listenclosure all Example, with typical output: # vxdmpadm listenclosure all |
Figure 2 - Using vxdmpadm to determine the iopolicy of a given disk array
Syntax: vxdmpadm getattr enclosure <enclosure_name> iopolicy Example, with typical output: # vxdmpadm getattr enclosure ams_wms0 iopolicy |
Changing the I/O policy
"Specifying the DMP I/O policy" (from the Veritas Storage Foundation 6.0.1 Administrators Guide for Solaris)
https://sort.Veritas.com/public/documents/sfha/6.0.1/solaris/productguides/html/sf_admin/ch09s07s16.htm
- Use vxdmpadm listenclosure all to find the names of all attached disk enclosures (Figure 1, in the previous section).
- Use vxdmpadm setattr enclosure <enclosure_name> iopolicy=<iopolicy> to specify a new I/O policy (Figure 3).
Figure 3 - Using vxdmpadm to change the iopolicy for a disk array
Syntax: vxdmpadm setattr enclosure <enclosure_name> iopolicy=<iopolicy> Example, with typical output: # vxdmpadm setattr enclosure ams_wms0 iopolicy=balanced Note: Vxdmpadm getattr now shows that the current I/O policy is "Balanced."
|
Measuring DMP I/O performance using vxdmpadm iostat
(Back to top)
Vxdmpadm includes a I/O performance measuring utility that can be used to track performance before and after the DMP I/O policy has been changed (Figure 4).
"Examples of using the vxdmpadm iostat command" (from the Veritas Storage Foundation 6.0 Administrators Guide for Solaris)\
https://sort.Veritas.com/public/documents/sfha/6.0.1/solaris/productguides/html/sf_admin/ch09s07s11s01.htm
Figure 4 - Using vxdmpadm iostat to generate performance statistics for all available paths
Syntax:
Example, with typical output: # vxdmpadm -uh -z iostat show all interval=30
Note: Using the "-z" switch causes
vxdmpadm to omit paths that have zero I/O during each interval. The first sample is a cumulative of all I/O statistics since vxmpadm iostat was reset. A blank space is added between each sample.
cpu usage = 36us per cpu memory = 282624b |