sudo yum install fio
sudo apt-get install fio
fio -directory=/path/to/cfs -iodepth=1 -time_based=1 -thread -direct=1 -ioengine=libaio -rw=randread -bs=4K -size=1M -numjobs=1 -runtime=60 -group_reporting -name=cfs_test
fio -directory=/path/to/cfs -iodepth=1 -time_based=1 -thread -direct=1 -ioengine=libaio -rw=randwrite -bs=4K -size=1M -numjobs=1 -runtime=60 -group_reporting -name=cfs_test
fio -directory=/path/to/cfs -iodepth=1 -time_based=1 -thread -direct=1 -ioengine=libaio -rw=randread -bs=4K -size=100M -numjobs=128 -runtime=60 -group_reporting -name=cfs_test
fio -directory=/path/to/cfs -iodepth=1 -time_based=1 -thread -direct=1 -ioengine=libaio -rw=randwrite -bs=4K -size=100M -numjobs=128 -runtime=60 -group_reporting -name=cfs_test
fio -directory=/path/to/cfs -iodepth=1 -time_based=1 -thread -direct=1 -ioengine=libaio -rw=randread -bs=1M -size=100M -numjobs=128 -runtime=60 -group_reporting -name=cfs_test
fio -directory=/path/to/cfs -iodepth=1 -time_based=1 -thread -direct=1 -ioengine=libaio -rw=randwrite -bs=1M -size=100M -numjobs=128 -runtime=60 -group_reporting -name=cfs_test
参数 | 参数说明 |
direct | 表示是否使用 direct I/O。默认值:1。 值为1:表示使用 direct I/O,忽略客户端 I/O 缓存,数据直写或直读。 值为0:表示不使用 direct I/O。 注意: 此参数无法穿透服务端缓存。 |
iodepth | 表示测试时的 IO 队列深度。例如 -iodepth=1表示 FIO 控制请求中的 I/O 最大个数为1。 |
rw | 表示测试时的读写策略。您可以设置为: randwrite:随机写。 randread:随机读。 read:顺序读。 write:顺序写。 randrw:混合随机读写。 说明: 通常压力测试时,都是基于随机读写。如果需要顺序读写的性能值,可根据需要调整参数。 |
ioengine | 表示测试时 FIO 选择哪种 I/O 引擎,通常选择 libaio,保证数据 IO 的异步下发。 注意: 压测时如不选择 libaio,其性能瓶颈主要在于 ioengine 上,非存储侧瓶颈。 |
bs | 表示 I/O 单元的块大小(block size)。 |
size | 表示测试文件大小。 FIO 会将指定的文件大小全部读/写完成,然后才停止测试,除非受到其他选项(例如运行时)的限制。 如果未指定该参数,FIO 将使用给定文件或设备的完整大小。也可以将大小作为1到100之间的百分比给出,例如指定 size=20%,FIO 将使用给定文件或设备完整大小的20%空间。 |
numjobs | 表示测试的并发线程数。 |
runtime | 表示测试时间,即 FIO 运行时长。 |
group_reporting | 表示测试结果显示模式。 如果指定该参数,测试结果会汇总每个进程的统计信息,而不是以不同任务来统计信息。 |
directory | 表示待测试的文件系统挂载路径。 说明: 选择此参数,FIO 将默认从此路径创建出 numjobs 数量的文件进行压测。存储压测时一定要选择此参数,如果直接指定 filename 是对单个文件进行压测。 |
name | 表示测试任务名称,可以根据实际需要设定。 |
thread | 使用多线程的方式进行压测,而非多进程。 |
time_based | 值为1: 当指定的文件大小读写完之后,自动重复 IO,直到 runtime 参数指定的时间。 值为0:当指定的文件大小写完之后,立即停止。 说明: 通常测试时指定为1,能保证测试程序在指定的时间范围内持续运行。 |
本页内容是否解决了您的问题?