2

我是 IOzone 的新用户,当我使用以下命令运行 IOzone 时./iozone -i 0 -i 1 -t 2 -T,它​​会生成以下结果(部分):

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”的含义感到困惑,有人可以帮助我吗?顺便说一句,为什么从孩子和父母看到的吞吐量不同?谢谢!

4

1 回答 1

4

Min xfer 是指一次写入的最小数据量。“每个线程在 4 KB 记录中写入 512 KB 文件”

因此,如果 Min xfer 为 512.00 KB,它会立即将整个实际文件写入磁盘(将所有 4 KB 记录组合在一起)。

由于 OS I/O 缓冲,子吞吐量和父吞吐量不同。iozone 不会通过吞吐量测试强制直接(非缓冲)读取或写入。您真正测试的是系统的缓冲区缓存 + 磁盘缓存 + 磁盘速度组合。

于 2012-07-13T19:25:50.210 回答