DS5100 random IO performance on DMP by default is not as good as that on the MPIO.

book

Article ID: 100004673

calendar_today

Updated On:

Cause

queue_depth 1 is too low for the array, which limits the performance much.

Below is the testing result about the queue_depth.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The volume configuration:-

#vxdmpadm getsubpaths dmpnodename=ds51000_94
NAME         STATE[A]   PATH-TYPE[M] CTLR-NAME  ENCLR-TYPE   ENCLR-NAME    ATTRS
================================================================================
hdisk284     ENABLED    SECONDARY    fscsi2     DS5100       ds51000          -
hdisk385     ENABLED(A)  PRIMARY      fscsi3     DS5100       ds51000          -

#vxprint -ht -q
Disk group: testdg
dg testdg       default      default  7000     1294945920.109.p550a7
dm ds51000_94   ds51000_94   auto     65536    2023168  -
v  vol1         -            ENABLED  ACTIVE   1843200  SELECT    -        fsgen
pl vol1-01      vol1         ENABLED  ACTIVE   1843200  CONCAT    -        RW
sd ds51000_94-01 vol1-01     ds51000_94 0      1843200  0         ds51000_94 ENA

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Use vxbench to test random read throughput continuously.
e.g.
while true
do
/opt/VRTSspt/FS/VxBench/vxbench -w rand_read -o sync -i maxfilesize=512m,nthreads=50,iosize=8k,nrep=3200 /dev/vx/dsk/testdg/vol1
done

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Test result with the default queue_depth.

#lsattr -El hdisk385|grep queue_depth           
queue_depth   1                 Queue DEPTH                      True

Run the above vxbench.
total:      21.016 sec  12181.25 KB/s  cpu: 13.35 sys   1.67 user
total:      21.176 sec  12089.22 KB/s  cpu: 13.30 sys   1.66 user
total:      21.197 sec  12077.00 KB/s  cpu: 13.35 sys   1.67 user
total:      21.189 sec  12081.98 KB/s  cpu: 13.29 sys   1.66 user
total:      21.385 sec  11971.28 KB/s  cpu: 13.28 sys   1.66 user
total:      21.226 sec  12060.89 KB/s  cpu: 13.35 sys   1.67 user

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Test result with queue_depth 10.

#lsattr -El hdisk385|grep queue_depth
queue_depth   10                 Queue DEPTH                      True

Run the above vxbench.
total:       1.290 sec  198448.54 KB/s  cpu:  0.93 sys   0.14 user
total:       1.290 sec  198432.69 KB/s  cpu:  0.92 sys   0.14 user
total:       1.290 sec  198509.17 KB/s  cpu:  0.93 sys   0.15 user
total:       1.290 sec  198472.69 KB/s  cpu:  0.93 sys   0.14 user
total:       1.290 sec  198440.38 KB/s  cpu:  0.92 sys   0.14 user
total:       1.290 sec  198437.92 KB/s  cpu:  0.94 sys   0.15 user
total:       1.290 sec  198506.24 KB/s  cpu:  0.93 sys   0.14 user
total:       1.290 sec  198419.93 KB/s  cpu:  0.94 sys   0.15 user

<= the IO throughput was increased significantly, and the CPU cost was dropped.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Resolution

Increase the queue_depth to 10 or above.

#chdev –l hdisk385 -a queue_depth=10 -P

Please note, reboot is required to make the changes effective.


Applies To

The AIX server with DS5100 attached.

Issue/Introduction

Since 5.0mp3 on AIX, DMP was supported for the DS5100. But, the queue_depth was set to 1 by default with DMP ODM(Object Device Manager), so the random IO performance was not as good as the MPIO. MPIO default queue_depth is 10.