fio是测试IOPS的非常好的工具,用来对磁盘进行压力测试和验证。磁盘IO是检查磁盘性能的重要指标,可以按照负载情况分成照顺序读写,随机读写两大类。FIO是一个可以产生很多线程或进程并执行用户指定的特定类型I/O操作的工具,FIO的典型用途是编写和模拟的I/O负载匹配的作业文件。也就是说FIO 是一个多线程io生成工具,可以生成多种IO模式,用来测试磁盘设备的性能(也包含文件系统:如针对网络文件系统 NFS 的IO测试)。
语法格式:fio [参数]
常用参数:
filename | 测试文件名称,通常选择需要测试的盘的data目录 |
rw=randwrite | 测试随机写的I/O |
rw=randrw | 测试随机写和读的I/O |
bs | 指定单次io的块文件大小 |
bsrange | 提定数据块的大小范围 |
size | 指定每个线程读写的数据量 |
参考实例
测试随机读写:
[root@xtuos.com ~]# fio --filename=/bdata/test.big -iodepth=64 -ioengine=libaio -direct=1 -rw=randwrite -bs=4k -size=2G -numjobs=64 -runtime=20-group_reporting -name=test-rand-write
测试顺序读取:
[root@xtuos.com ~]# fio --filename=/bdata/test.big -iodepth=64 -ioengine=libaio --direct=1 --rw=read --bs=1m --size=2g --numjobs=4 --runtime=10 --group_reporting --name=test-read
测试顺序写入:
fio --filename=/bdata/test.big -iodepth=64 -ioengine=libaio -direct=1 -rw=write -bs=1m -size=2g -numjobs=4 -runtime=20 -group_reporting -name=test-write