How to use iozone to do distributed measurement.

In another article iozone examples for file system benchmark , I showed some examples how to use iozone to measure file system benchmark, they are all for non distributed file systems. This article is to show you how to measure distributed measurement. Also, if you have a clustered storage enviroment, for example, in a SAN environment, several host share luns from one storage system, then it's also useful to you to measure the whole storage system benchmark

 

The option is to use -+m

  -+m filename
      Used  to  specify a filename that will be used to specify the clients in a distributed
measurement. The file contains one line for each client. The fields are space delimited.
Field 1 is the client name.
Field 2 is the working directory, on  the  client,  where Iozone will run.
Field 3 is the path to the executable Iozone on the client.

Preparation: Config rsh on hosts(client).

See my another ariticle rsh configuration on linux, you can try iozone with ssh too, but by default, it uses rsh. I can make another article to say that.

Create the config file for distributed measurement.

Check hosts if they all have iozone installed, iozone working directory and iozone executable path

cat ./cluster_1.cfg
pool01 /lun0000 /usr/bin/iozone
pool02 /lun0002 /usr/bin/iozone
pool03 /lun0004 /usr/bin/iozone

Command to run

In below example, iozone will use 1MB as io size, 3 concurrent iozone processes, do write,rewrite,read,reread test, each test file will be 96GB

iozone -+m ./cluster_1.cfg -r1M -s96g -i 0 -i 1 -t 3 >./cluster_1.log
...
    Test running:
    Children see throughput for  3 initial writers     = 3316803.31 KB/sec
    Min throughput per process             =  648294.94 KB/sec
    Max throughput per process             =  672878.31 KB/sec
    Avg throughput per process             =  663360.66 KB/sec
    Min xfer                     = 96988160.00 KB

    Test running:
    Children see throughput for  3 rewriters     = 3057355.94 KB/sec
    Min throughput per process             =  590032.00 KB/sec
    Max throughput per process             =  639902.50 KB/sec
    Avg throughput per process             =  611471.19 KB/sec
    Min xfer                     = 92826624.00 KB

    Test running:
    Children see throughput for  3 readers         = 5310814.25 KB/sec
    Min throughput per process             = 1053135.12 KB/sec
    Max throughput per process             = 1069765.12 KB/sec
    Avg throughput per process             = 1062162.85 KB/sec
    Min xfer                     = 99118080.00 KB

    Test running:
    Children see throughput for 3 re-readers     = 5462394.88 KB/sec
    Min throughput per process             = 1083267.25 KB/sec
    Max throughput per process             = 1104319.50 KB/sec
    Avg throughput per process             = 1092478.98 KB/sec
    Min xfer                     = 98756608.00 KB

    Test cleanup: