fio命令来自英文词组“Flexible IO Tester”的缩写,其功能是用于对磁盘进行压力测试。硬盘I/O吞吐率是性能的重要指标之一,运维人员可以使用fio命令对其进行测试,测试又可以细分为顺序读写和随机读写两大类。

语法格式:fio [参数] 设备名

常用参数:

–bandwidth-log 生成每个作业的带宽日志
–client 设置要完成作业的主机信息
–daemonize 设置服务PID文件
–debug 使用调试模式
–eta 设置何时输出ETA评估值
–help 显示帮助信息
–latency-log 生成每个作业的延迟日志
–max-jobs 设置最大支持的作业数
–minimal 使用简洁格式显示统计信息
–output 设置输出文件名
–runtime 限制运行时间
–readonly 启用只读安全检查
–version 显示版本信息

常用元素:

bs 指定单次io的块文件大小
bsrange 提定数据块的大小范围
filename 测试文件名称
rw=randwrite 测试随机写的I/O
rw=randrw 测试随机写和读的I/O
size 指定每个线程读写的数据量

参考示例

进行随机读取测试:

[root@linuxcool ~]# fio -filename=File -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=10G -numjobs=10 -runtime=100 -group_reporting -name=mytest

进行随机写入测试:

[root@linuxcool ~]# fio -filename=File -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest

进行顺序写入测试:

[root@linuxcool ~]# fio -filename=File -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。