iozone进行linux下的硬盘性能测试
# tar -xvf iozone3_408.tar
# cd iozone3_408
# cd src/current/
# make
# make linux-AMD64
使用:
全自动测试,生成包括所有测试操作的报告,使用的块大小从4k到16M,文件大小从64k到512M:
# ./iozone -a
# ./iozone -a -Rb ./iozone_output.xls
使用direct io方式(不用系统缓存),测试文件大小为1GB,读写块大小为4KB,测试文件写、重写、文件读、重读、文件随机写/读、文件跳跃读、文件随机偏移读写,3个进程,3个不同硬盘的文件(每硬盘一个文件情况下,虽然util到不了100%,但是性能最好):
# time ./iozone -I -s 1G -r 4K -i 0 -i 1 -i 2 -i 5 -i 8 -t 3 -F /data1/ioz_0 /data2/ioz_1 /data3/ioz_0
随机读实在太慢,大概在600KB/s左右,文件读大概能到27MB/s左右,跳跃式读也比较慢,大概在6MB/s左右。
随机写实在太慢,大概在500KB/s左右,文件写大概能到23MB/s左右。
多硬盘测试结果和单硬盘测试结果相比,基本一致,看来没有raid方式的硬盘具有线性扩展的特点。
输出:
Children see throughput for 3 initial writers = 69116.78 KB/sec 从各个进程来看总的吞吐率。
Parent sees throughput for 3 initial writers = 63941.03 KB/sec 从父进程来看总的吞吐率,3硬盘、3进程情况下就是这3个硬盘的总吞吐率。
Min throughput per process = 21949.20 KB/sec 各个子进程里面的最小吞吐率。
Max throughput per process = 23981.80 KB/sec 各个子进程里面的最大吞吐率。
Avg throughput per process = 23038.93 KB/sec 各个子进程的平均吞吐率,3硬盘、3进程情况下就是每个硬盘的吞吐率。
Min xfer = 959684.00 KB 最小传输的数据大小。
文件大小为1GB,读写块大小为4KB,测试文件写、重写、文件读、重读:
# time ./iozone -I -s 1G -r 4K -i 0 -i 1 -t 3 -F /data1/ioz_0 /data2/ioz_1 /data3/ioz_0
文件大小为1GB,读写块大小为1MB,测试文件写、重写、文件读、重读:
# time ./iozone -I -s 1G -r 1M -i 0 -i 1 -t 3 -F /data1/ioz_0 /data2/ioz_1 /data3/ioz_0
块大小变大时,读写速度上升,变成64KB之后,基本保持稳定,可以达到写入68MB/s,读取100MB/s
文件大小为1GB,读写块大小为1MB,测试文件写、重写、文件读、重读:
# time ./iozone -I -s 1G -r 1M -i 0 -i 1 -t 1 -F /data1/ioz_0
文件大小为1GB,块大小自动,测试文件写、重写、文件读、重读:
# time ./iozone -a -I -s 1G -i 0 -i 1 -f /data1/ioz_0
输出:
其中KB为文件大小,reclen为块大小,单位KB,write、rewrite、…为速度,单位为KB/s
random random bkwd record stride
KB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
1048576 4 23235 24109 29270 29236
1048576 8 35827 35501 43226 45972
1048576 16 47197 45647 64534 63778
1048576 32 56656 57349 72071 64210
1048576 64 62593 62322 79199 73058
1048576 128 62555 61580 82996 91364
1048576 256 61989 61427 83947 88240
1048576 512 61115 61691 81995 91528
1048576 1024 64960 64964 90770 95159
1048576 2048 65291 65179 84443 86890
1048576 4096 65144 69033 79340 93642
1048576 8192 58389 52574 82366 93081
1048576 16384 56028 55363 75210 92768
real time: 15m44.690s