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


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.

我对“吞吐量”和“最小xfer”的含义感到困惑,有人可以帮助我吗?
顺便说一句,为什么从 child 和 parent 那里看到的吞吐量不同?谢谢!

最佳答案

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

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

子代和父代吞吐量因操作系统I/O缓冲而不同。 iozone不会通过吞吐量测试强制进行直接(非缓冲)读取或写入操作。您真正要测试的是系统的缓冲区高速缓存+磁盘高速缓存+磁盘速度组合。

08-27 20:22