Hi all,
I've been searching a lot and I'm struggling to get a resolve on how to interpret my IOZone report (with respect to Parent vs Child throughput):
I'm having significant performance issues but want to understand the report better so that I can start running tests to diagnose. First and foremost, how come in some instances the "Parent Sees" throughput can be half to 1/300th of the child throughput. I'm able to repeat this a lot, what should I be looking for to understand this?Code:Iozone: Performance Test of File I/O Version $Revision: 3.242 $ Compiled for 64 bit mode. Build: linux-AMD64 Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins Al Slater, Scott Rhine, Mike Wisner, Ken Goss Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR, Randy Dunlap, Mark Montague, Dan Million, Jean-Marc Zucconi, Jeff Blomberg, Erik Habbinga, Kris Strecker, Walter Wong. Run began: Tue Dec 21 07:52:41 2010 Record Size 4 KB File size set to 131072 KB Command line used: iozone -r 4k -s 128m -i 0 -i 1 -l 1 -u 4 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. Min process = 1 Max process = 4 Throughput test with 1 process Each process writes a 131072 Kbyte file in 4 Kbyte records Children see throughput for 1 initial writers = 301113.50 KB/sec Parent sees throughput for 1 initial writers = 4523.09 KB/sec Min throughput per process = 301113.50 KB/sec Max throughput per process = 301113.50 KB/sec Avg throughput per process = 301113.50 KB/sec Min xfer = 131072.00 KB Children see throughput for 1 rewriters = 581653.19 KB/sec Parent sees throughput for 1 rewriters = 1721.79 KB/sec Min throughput per process = 581653.19 KB/sec Max throughput per process = 581653.19 KB/sec Avg throughput per process = 581653.19 KB/sec Min xfer = 131072.00 KB Children see throughput for 1 readers = 1179321.50 KB/sec Parent sees throughput for 1 readers = 38684.36 KB/sec Min throughput per process = 1179321.50 KB/sec Max throughput per process = 1179321.50 KB/sec Avg throughput per process = 1179321.50 KB/sec Min xfer = 131072.00 KB Children see throughput for 1 re-readers = 1186332.62 KB/sec Parent sees throughput for 1 re-readers = 1181638.31 KB/sec Min throughput per process = 1186332.62 KB/sec Max throughput per process = 1186332.62 KB/sec Avg throughput per process = 1186332.62 KB/sec Min xfer = 131072.00 KB Each process writes a 131072 Kbyte file in 4 Kbyte records Children see throughput for 2 initial writers = 412720.11 KB/sec Parent sees throughput for 2 initial writers = 2382.57 KB/sec Min throughput per process = 206328.03 KB/sec Max throughput per process = 206392.08 KB/sec Avg throughput per process = 206360.05 KB/sec Min xfer = 130396.00 KB Children see throughput for 2 rewriters = 945912.50 KB/sec Parent sees throughput for 2 rewriters = 2320.70 KB/sec Min throughput per process = 472256.50 KB/sec Max throughput per process = 473656.00 KB/sec Avg throughput per process = 472956.25 KB/sec Min xfer = 130672.00 KB Children see throughput for 2 readers = 1889937.50 KB/sec Parent sees throughput for 2 readers = 77196.49 KB/sec Min throughput per process = 944327.38 KB/sec Max throughput per process = 945610.12 KB/sec Avg throughput per process = 944968.75 KB/sec Min xfer = 130948.00 KB Children see throughput for 2 re-readers = 1888540.12 KB/sec Parent sees throughput for 2 re-readers = 1882104.77 KB/sec Min throughput per process = 942036.19 KB/sec Max throughput per process = 946503.94 KB/sec Avg throughput per process = 944270.06 KB/sec Min xfer = 130456.00 KB Each process writes a 131072 Kbyte file in 4 Kbyte records Children see throughput for 3 initial writers = 644641.47 KB/sec Parent sees throughput for 3 initial writers = 1424.12 KB/sec Min throughput per process = 187386.69 KB/sec Max throughput per process = 269646.66 KB/sec Avg throughput per process = 214880.49 KB/sec Min xfer = 91084.00 KB Children see throughput for 3 rewriters = 1004588.22 KB/sec Parent sees throughput for 3 rewriters = 58914.05 KB/sec Min throughput per process = 275948.25 KB/sec Max throughput per process = 445058.56 KB/sec Avg throughput per process = 334862.74 KB/sec Min xfer = 81280.00 KB Children see throughput for 3 readers = 2166543.88 KB/sec Parent sees throughput for 3 readers = 1460932.53 KB/sec Min throughput per process = 619224.88 KB/sec Max throughput per process = 922048.94 KB/sec Avg throughput per process = 722181.29 KB/sec Min xfer = 86596.00 KB Children see throughput for 3 re-readers = 2138529.88 KB/sec Parent sees throughput for 3 re-readers = 2130352.73 KB/sec Min throughput per process = 616222.00 KB/sec Max throughput per process = 903646.56 KB/sec Avg throughput per process = 712843.29 KB/sec Min xfer = 89388.00 KB Each process writes a 131072 Kbyte file in 4 Kbyte records Children see throughput for 4 initial writers = 612325.26 KB/sec Parent sees throughput for 4 initial writers = 34747.37 KB/sec Min throughput per process = 125476.16 KB/sec Max throughput per process = 207964.28 KB/sec Avg throughput per process = 153081.31 KB/sec Min xfer = 77176.00 KB Children see throughput for 4 rewriters = 238829.30 KB/sec Parent sees throughput for 4 rewriters = 42411.91 KB/sec Min throughput per process = 48757.11 KB/sec Max throughput per process = 71481.82 KB/sec Avg throughput per process = 59707.32 KB/sec Min xfer = 113220.00 KB Children see throughput for 4 readers = 2380958.56 KB/sec Parent sees throughput for 4 readers = 1638434.75 KB/sec Min throughput per process = 582672.88 KB/sec Max throughput per process = 602259.06 KB/sec Avg throughput per process = 595239.64 KB/sec Min xfer = 126828.00 KB Children see throughput for 4 re-readers = 2406015.31 KB/sec Parent sees throughput for 4 re-readers = 2389809.41 KB/sec Min throughput per process = 590431.31 KB/sec Max throughput per process = 616499.38 KB/sec Avg throughput per process = 601503.83 KB/sec Min xfer = 124800.00 KB iozone test complete.
Note that the system is not doing anything else but the iozone test.
I've been through the source code a little to see that the parent just looks at the overall data moved of all the children divided by the program run time vs the child throughput which is the sum of all the children's individually calculated throughputs. I'm surprised to see the parent always significantly lower than the children.
Appreciate any pointers here.