User Tools

Site Tools


aix:perf_tools

Performance Tools

Standard AIX tools

https://www.ibm.com/developerworks/mydeveloperworks/wikis/home?lang=en#/wiki/Power%20Systems/page/Other%20Performance%20Tools

Very useful to aggregate all performances of LPARs on a pseries http://www.perzl.org/ganglia/

Free tool to measure performances information collected from HMC or SDMC, graphical view with yearly historic

http://www.lpar2rrd.com/index.htm

Included into AIX, nmon allows real time performance and also collect statistics.

Cross LPAR performance measure

# topas -C

If this fails then you can't collect the stats to a file and need to sort this problem out first. The HMC has options to allow CEC wide data collection. You make have stopped the deamon that is used on each LPAR to collect the data - look for: xmtopas -p3 (inetd subprocess).

PerfPMR

https://public.dhe.ibm.com/aix/tools/perftools/perfpmr/

Download perfpmr tool to analyse:

# /tmp/perf71/perfpmr.sh -z aix01.perfpmr.pax.gz

Easy to read if buffers are full.

IOzone

IOzone is an opensource software to measure disks performances (read, write…)

ftp://www.oss4aix.org/RPMS/iozone/

How to test each disk ? Create one filesystem on each disk, and go on each mount point to start the IOzone collection

To limit the collection, you can set the file size for example to 1g for example to reduce collected datas.

By default it will test the perfomances (KB/s) on the current filesystems, and creates a file iozone.tmp, or iozone.DUMMY.x

  -N : to report ms per operation, instead of KB/s
  -O : to report operation per second (IOps)
  -a : to specify automatic file size and block size
  -s : use a specific file size (100m, 10g...)
  -r : use a specific block size (for example 8k)
  -q : in conjonction with -a, specify the maximum block size to test
  -l and -u : nim and max number of parallel threads
  -R -b <filename> : report as .csv format to import to excel

Example: DB2 work on tables with block size from 4 to 32k

iozone -a -q 32k -s 128m

Result in KB/s (throughput)

[root@arwen]/root # iozone -a  -q 32k -s 128m
...
        Auto Mode
        Using Maximum Record Size 32 KB
        File size set to 131072 KB
        Command line used: iozone -a -q 32k -s 128m
        Output is in Kbytes/sec
        Time Resolution = 0.000001 seconds.
        Processor cache size set to 1024 Kbytes.
        Processor cache line size set to 32 bytes.
        File stride size set to 17 * record size.
                                                            random  random    bkwd   record   stride                                   
              KB  reclen   write rewrite    read    reread    read   write    read  rewrite     read   fwrite frewrite   fread  freread
          131072       4  300763  486008  1648849  1667772 1279850  695401 1263891   955495  1253568   475966   492648 1396894  1397906
          131072       8  369546  476656  2304197  2332331 1927670 1046665 1914266  1556342  1911676   505661   506387 1909505  1919600
          131072      16  377489  483530  2931283  2933050 2587344 1402067 2599861  2286592  2584327   479550   486294 2349978  2367628
          131072      32  388188  514368  3307800  3296237 3042101 1669281 3079988  2999838  3093594   461425   467083 2668020  2702514

iozone test complete.

Result in IO per second (IOps)

[root@arwen]/root # iozone -O -a  -q 32k -s 128m
...
        OPS Mode. Output is in operations per second.
        Auto Mode
        Using Maximum Record Size 32 KB
        File size set to 131072 KB
        Command line used: iozone -O -a -q 32k -s 128m
        Time Resolution = 0.000001 seconds.
        Processor cache size set to 1024 Kbytes.
        Processor cache line size set to 32 bytes.
        File stride size set to 17 * record size.
                                                            random  random    bkwd   record   stride                                   
              KB  reclen   write rewrite    read    reread    read   write    read  rewrite     read   fwrite frewrite   fread  freread
          131072       4   73177  121449   409344   417117  319887  175392  315711   239793   315228   120115   121071  346465   347405
          131072       8   45166   59189   286734   288430  240881  130002  237064   194279   237983    62952    63478  239770   237621
          131072      16   23447   30769   181326   179013  160281   86568  159940   143457   159763    30680    30036  146581   145604
          131072      32   12312   15960   102408   102898   93979   51838   94659    92240    95415    16028    15980   83973    84323

iozone test complete.

Result in ms response time

[root@arwen]/root # iozone  -N -a  -q 32k -s 128m
...
        Microseconds/op Mode. Output is in microseconds per operation.
        Auto Mode
        Using Maximum Record Size 32 KB
        File size set to 131072 KB
        Command line used: iozone -N -a -q 32k -s 128m
        Time Resolution = 0.000001 seconds.
        Processor cache size set to 1024 Kbytes.
        Processor cache line size set to 32 bytes.
        File stride size set to 17 * record size.
                                                            random  random    bkwd   record   stride                                   
              KB  reclen   write rewrite    read    reread    read   write    read  rewrite     read   fwrite frewrite   fread  freread
          131072       4      13       8        2        2       3       5       3        4        3        8        8       2        2
          131072       8      21      16        3        3       4       7       4        5        4       15       15       4        4
          131072      16      42      32        5        5       6      11       6        7        6       31       33       6        6
          131072      32      78      70        9        9      10      19      10       10       10       62       62      12       12

iozone test complete.

Nstress

https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power+Systems/page/nstress

Nstress tools have multiple binaries to test performances : ncpu, ndisk64, nmem64, nlog, nfile, nram…

Ndisk

Example, test disks

[root@arwen]/root # dd if=/dev/random of=testfile01 bs=1G count=50

Test in sequential mode, using 100% read and misc block size (4k, 8k, 64k, 1m) for 60 seconds, and 3 parallel streams

[root@arwen]/root # ndisk64 -M 3 -f testfile01,testfile02,testfile03 -S -r100 -b 4096:8k:64k:1m -t 60

Test in Random mode, using 75% read and 25% write and misc block size (4k, 8k, 64k, 1m) , flushing IO to disk

[root@arwen]/root # ndisk64 -f bigfile -R -r75 -b 4096:8k:64k:1m -q

VDBench

aix/perf_tools.txt · Last modified: 2024/02/08 21:51 by manu