我是IOzone的新用户,当我使用命令./iozone -i 0 -i 1 -t 2 -T
运行IOzone时,它会生成以下结果(部分):
Command line used: ./iozone -i 0 -i 1 -t 2 -T 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. Throughput test with 2 threads Each thread writes a 512 Kbyte file in 4 Kbyte records
Children see throughput for 2 initial writers = 650943.69 KB/sec
Parent sees throughput for 2 initial writers = 13090.24 KB/sec
Min throughput per thread = 275299.72 KB/sec
Max throughput per thread = 375643.97 KB/sec
Avg throughput per thread = 325471.84 KB/sec
Min xfer = 356.00 KB
Children see throughput for 2 rewriters = 1375881.50 KB/sec
Parent sees throughput for 2 rewriters = 10523.74 KB/sec
Min throughput per thread = 1375881.50 KB/sec
Max throughput per thread = 1375881.50 KB/sec
Avg throughput per thread = 687940.75 KB/sec
Min xfer = 512.00 KB
Children see throughput for 2 readers = 2169601.25 KB/sec
Parent sees throughput for 2 readers = 27753.94 KB/sec
Min throughput per thread = 2169601.25 KB/sec
Max throughput per thread = 2169601.25 KB/sec
Avg throughput per thread = 1084800.62 KB/sec
Min xfer = 512.00 KB
Children see throughput for 2 re-readers = 2572435.25 KB/sec
Parent sees throughput for 2 re-readers = 26311.78 KB/sec
Min throughput per thread = 2572435.25 KB/sec
Max throughput per thread = 2572435.25 KB/sec
Avg throughput per thread = 1286217.62 KB/sec
Min xfer = 512.00 KB
iozone test complete.
我对“吞吐量”和“Min xfer”的含义感到困惑,有人可以帮助我吗? 那么,为什么从儿童和父母看到的吞吐量不同?谢谢!
答案 0 :(得分:3)
Min xfer是指一次写入的最小数据量。 “每个线程在4 KB记录中写入512 KB的文件”
因此,如果Min xfer为512.00 KB,它会立即将整个实际文件写入磁盘(将所有4 KB记录分组在一起)。
由于OS I / O缓冲,子级和父级吞吐量不同。 iozone不强制进行吞吐量测试的直接(非缓冲)读取或写入。您真正测试的是系统的缓冲区缓存+磁盘缓存+磁盘速度组合。