When you have gathered performance data, you can use it to determine how to configure your system to use resources most effectively. The following sections provide an overview of how you can use this data.
Examination of the I/O statistics can suggest how to reconfigure your system. You should examine two primary statistics: volume I/O activity and disk I/O activity.
Before obtaining statistics, reset the counters for all existing statistics using the vxstat
-r
command. This eliminates any differences between volumes or disks due to volumes being created, and also removes statistics from boot time (which are not usually of interest).
After resetting the counters, allow the system to run during typical system activity. Run the application or workload of interest on the system to measure its effect. When monitoring a system that is used for multiple purposes, try not to exercise any one application more than usual. When monitoring a time-sharing system with many users, let statistics accumulate for several hours during the normal working day.
To display volume statistics, enter the vxstat
command with no arguments. The following is a typical display of volume statistics:
OPERATIONS BLOCKS AVG TIME(ms)
TYP NAME READ WRITE READ WRITE READ WRITE
vol archive 865 807 5722 3809 32.5 24.0
vol home 2980 5287 6504 10550 37.7 221.1
vol local 49477 49230 507892 204975 28.5 33.5
vol rootvol 102906 342664 1085520 1962946 28.1 25.6
vol src 79174 23603 425472 139302 22.4 30.9
vol swapvol 22751 32364 182001 258905 25.3 323.2
Such output helps to identify volumes with an unusually large number of operations or excessive read or write times.
To display disk statistics, use the vxstat
-d
command. The following is a typical display of disk statistics:
OPERATIONS BLOCKS AVG TIME(ms)
TYP NAME READ WRITE READ WRITE READ WRITE
dm mydg01 40473 174045 455898 951379 29.5 35.4
dm mydg02 32668 16873 470337 351351 35.2 102.9
dm mydg03 55249 60043 780779 731979 35.3 61.2
dm mydg04 11909 13745 114508 128605 25.0 30.7
If you need to move the volume named archive
onto another disk, use the following command to identify on which disks it lies:
# vxprint -g mydg -tvh archive
The following is an extract from typical output:
V NAME RVG/VSET/CO KSTATE STATE LENGTH READPOL REFPLEX UTYPE
PL NAME VOLUME KSTATE STATE LENGTH LAYOUT NCOL/WDTH MODE
SD NAME PLEX DISK DISKOFFS LENGTH [COL/]OFF DEVICE MODE
v archive - ENABLED ACTIVE 20480 SELECT - fsgen
pl archive-01 archive ENABLED ACTIVE 20480 CONCAT - RW
sd mydg03-03 archive-01 mydg03 0 40960 0 c1t2d0 ENA
Note Your system may use device names that differ from these examples. For more information on device names, see Administering disks.
The subdisks line (beginning sd
) indicates that the volume archive
is on disk mydg03
. To move the volume off mydg03
, use the following command:
# vxassist -g mydg move archive
\
!mydg03
dest_disk
Here dest_disk is the destination disk to which you want to move the volume. It is not necessary to specify a destination disk. If you do not specify a destination disk, the volume is moved to an available disk with enough space to contain the volume.
For example, to move a volume from disk mydg03
to disk mydg04
, in the disk group, mydg
, use the following command:
# vxassist -g mydg move archive
\
!mydg03 mydg04
This command indicates that the volume is to be reorganized so that no part of it remains on mydg03
.
Note The Veritas Enterprise Administrator (VEA) has a graphical user interface (GUI), which provides an easier way to move pieces of volumes between disks. You may find that approach preferable to using the command line.
If two volumes (other than the root volume) on the same disk are busy, move them so that each is on a different disk.
If one volume is particularly busy (especially if it has unusually large average read or write times), stripe the volume (or split the volume into multiple pieces, with each piece on a different disk). If done online, converting a volume to use striping requires sufficient free space to store an extra copy of the volume. If sufficient free space is not available, a backup copy can be made instead. To convert a volume, create a striped plex as a mirror of the volume and then remove the old plex. For example, the following commands stripe the volume archive
across disks mydg02
, mydg03
, and mydg04
in the disk group, mydg
, and then remove the original plex archive-01
:
# vxassist -g mydg mirror archive layout=stripe mydg02 mydg03 \
mydg04
# vxplex -g mydg -o rm dis archive-01
After reorganizing any particularly busy volumes, check the disk statistics. If some volumes have been reorganized, clear statistics first and then accumulate statistics for a reasonable period of time.
If some disks appear to be excessively busy (or have particularly long read or write times), you may want to reconfigure some volumes. If there are two relatively busy volumes on a disk, move them closer together to reduce seek times on the disk. If there are too many relatively busy volumes on one disk, move them to a disk that is less busy.
Use I/O tracing (or subdisk statistics) to determine whether volumes have excessive activity in particular regions of the volume. If the active regions can be identified, split the subdisks in the volume and move those regions to a less busy disk.
Caution Striping a volume, or splitting a volume across multiple disks, increases the chance that a disk failure results in failure of that volume. For example, if five volumes are striped across the same five disks, then failure of any one of the five disks requires that all five volumes be restored from a backup. If each volume were on a separate disk, only one volume would need to be restored. Use mirroring or RAID-5 to reduce the chance that a single disk failure results in failure of a large number of volumes.
Note that file systems and databases typically shift their use of allocated space over time, so this position-specific information on a volume is often not useful. Databases are reasonable candidates for moving to non-busy disks if the space used by a particularly busy index or table can be identified.
Examining the ratio of reads to writes helps to identify volumes that can be mirrored to improve their performance. If the read-to-write ratio is high, mirroring can increase performance as well as reliability. The ratio of reads to writes where mirroring can improve performance depends greatly on the disks, the disk controller, whether multiple controllers can be used, and the speed of the system bus. If a particularly busy volume has a high ratio of reads to writes, it is likely that mirroring can significantly improve performance of that volume.
I/O statistics provide the data for basic performance analysis; I/O traces serve for more detailed analysis. With an I/O trace, focus is narrowed to obtain an event trace for a specific workload. This helps to explicitly identify the location and size of a hot spot, as well as which application is causing it.
Using data from I/O traces, real work loads on disks can be simulated and the results traced. By using these statistics, you can anticipate system limitations and plan for additional resources.
For information on using the vxdmpadm
command to gather I/O statistics for a DMP node, path, or enclosure, see Gathering and displaying I/O statistics. You can also use the vxdmpadm
command to change the I/O load-balancing policy for an enclosure as described in Specifying the I/O policy.