Displaying cumulative I/O statistics

The vxdmpadm iostat command provides the ability to analyze the I/O load distribution across various I/O channels or parts of I/O channels. Select the appropriate filter to display the I/O statistics for the DMP node, controller, array enclosure, path, port, or virtual machine. Then, use the groupby clause to display cumulative statistics according to the criteria that you want to analyze. If the groupby clause is not specified, then the statistics are displayed per path.

When you combine the filter and the groupby clause, you can analyze the I/O load for the required use case scenario. For example:

Use the following format of the iostat command to analyze the I/O loads:

# vxdmpadm [-u unit] iostat show [groupby=criteria] {filter}  \
  [interval=seconds [count=N]]

The above command displays I/O statistics for the devices specified by the filter. The filter is one of the following:

You can aggregate the statistics by the following groupby criteria:

By default, the read/write times are displayed in milliseconds up to 2 decimal places. The throughput data is displayed in terms of BLOCKS, and the output is scaled, meaning that the small values are displayed in small units and the larger values are displayed in bigger units, keeping significant digits constant. You can specify the units in which the statistics data is displayed. The -u option accepts the following options:

h or H

Displays throughput in the highest possible unit.

k

Displays throughput in kilobytes.

m

Displays throughput in megabytes.

g

Displays throughput in gigabytes.

bytes| b

Displays throughput in exact number of bytes.

us

Displays average read/write time in microseconds.

To group by DMP node:

# vxdmpadm [-u unit] iostat show groupby=dmpnode \
[all | dmpnodename=dmpnodename | enclosure=enclr-name] 

To group by controller:

# vxdmpadm [-u unit] iostat show groupby=ctlr [ all | ctlr=ctlr ] 

For example:

# vxdmpadm iostat show groupby=ctlr ctlr=fscsi0
cpu usage = 843us    per cpu memory = 49152b
              OPERATIONS      BLOCKS          AVG TIME(ms)
CTLRNAME   READS  WRITES   READS   WRITES   READS   WRITES
fscsi0     276    0        2205    0         0.03     0.00

To group by arrayport:

# vxdmpadm [-u unit] iostat show groupby=arrayport [ all \
| pwwn=array_pwwn | enclosure=enclr portid=array-port-id ]

For example:

# vxdmpadm -u m iostat show groupby=arrayport \
enclosure=HDS9500-ALUA0 portid=1A 
            OPERATIONS        BYTES       AVG TIME(ms)
PORTNAME  READS   WRITES  READS  WRITES  READS   WRITES
1A 	      743	    1538    11m    24m     17.13   8.61

To group by enclosure:

# vxdmpadm [-u unit] iostat show groupby=enclosure [ all \
| enclosure=enclr ] 

For example:

# vxdmpadm -u h iostat show groupby=enclosure enclosure=EMC_CLARiiON0
OPERATIONS       BLOCKS       AVG TIME(ms)
ENCLOSURENAME   READS  WRITES  READS  WRITES  READS   WRITES
EMC_CLARiiON0	  743		  1538	   11392k	 24176k 17.13   8.61

You can also filter out entities for which all data entries are zero. This option is especially useful in a cluster environment that contains many failover devices. You can display only the statistics for the active paths.

To filter all zero entries from the output of the iostat show command:

# vxdmpadm [-u unit] -z iostat show [all|ctlr=ctlr_name |
dmpnodename=dmp_device_name | enclosure=enclr_name [portid=portid] |
pathname=path_name|pwwn=port_WWN][interval=seconds [count=N]]

For example:

# vxdmpadm -z iostat show dmpnodename=hdisk40
cpu usage = 906us    per cpu memory = 49152b
             OPERATIONS      BLOCKS          AVG TIME(ms)
PATHNAME  READS  WRITES   READS   WRITES   READS    WRITES
hdisk100  7      0        70      0         0.02      0.00
hdisk115  12     0        58      0         0.03      0.00
hdisk40   10     0        101     0         0.02      0.00
hdisk55   5      0        21      0         0.04      0.00

To display average read/write times in microseconds.

# vxdmpadm -u us iostat show pathname=hdisk115
cpu usage = 1030us    per cpu memory = 49152b
              OPERATIONS       BLOCKS           AVG TIME(us)
PATHNAME   READS    WRITES  READS    WRITES   READS    WRITES
hdisk115   12       0       58       0        32.00      0.00