磁盘管理 · 2022年02月20日 0

fio命令 – 对磁盘进行压力测试和验证

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@anycode ~]# 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@anycode ~]# 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 ```