安装FIO
yum install -y libaio libaio-devel fio
开始测试
- 随机写IOPS:
1000 -group_reporting -filename=iotest -name=Rand_Write_Testing
- 随机读IOPS:
fio -direct=1 -iodepth=128 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=iotest -name=Rand_Read_Testing
- 顺序写吞吐量(写带宽):
fio -direct=1 -iodepth=64 -rw=write -ioengine=libaio -bs=1024k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=iotest -name=Write_PPS_Testing
- 顺序读吞吐量(读带宽):
1000 -group_reporting -filename=iotest -name=Read_PPS_Testing
- 随机写时延:
fio -direct=1 -iodepth=1 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=1 -group_reporting -filename=iotest -name=Rand_Write_Latency_Testing
- 随机读时延:
fio -direct=1 -iodepth=1 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=1 -group_reporting -filename=iotest -name=Rand_Read_Latency_Testing
参数说明
| 参数 |
说明 |
| -direct=1 |
表示测试时忽略I/O缓存,数据直写。 |
| -iodepth=128 |
表示使用异步I/O(AIO)时,同时发出I/O数的上限为128。 |
| -rw=randwrite |
表示测试时的读写策略为随机写(random writes)。其它测试可以设置为:
- randread(随机读random reads)
- read(顺序读sequential reads)
- write(顺序写sequential writes)
- randrw(混合随机读写mixed random reads and writes)
|
| -ioengine=libaio |
表示测试方式为libaio(Linux AIO,异步I/O)。应用程序使用I/O通常有两种方式:
|
| -bs=4k |
表示单次I/O的块文件大小为4KiB。默认值也是4KiB。
- bs设置为一个较小的值,如4k。
- bs设置为一个较大的值,如1024k。
|
| -size=1G |
表示测试文件大小为1GiB。 |
| -numjobs=1 |
表示测试线程数为1。 |
| -runtime=1000 |
-bs值为分块大小写完。
|
| -group_reporting |
表示测试结果里汇总每个进程的统计信息,而非以不同job汇总展示信息。 |
| -filename=iotest |
iotest。
|
| -name=Rand_Write_Testing |
Rand_Write_Testing,可以随意设定。
|