许吉友 - 运维

SSD 的4k随机写:

企业微信截图_15934175724958

HDD 的 4k 随机写:

企业微信截图_15934177954242

安装工具:

$ yum install fio -y 

4k随机写:

$ fio -filename=/dev/sda1 -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=4k -size=60G -numjobs=64 -runtime=10 -group_reporting -name=file

我这块是 NVMe 的 SSD,超级强悍。

image-20200715201044525

下面这块是机械硬盘:

image-20200715201746265

参数详解

numjobs 指定的线程数量会影响测试结果,虽然结果并不是线性增长的。

参考:https://www.zhihu.com/question/47544675/answer/303644115

输出详解

IOPS 即每秒IO操作数,BW 带宽。

slat 意为 submission latency,即IO提交延时。 usec 为时间单位,纳秒。 该行统计IO生成到提交到内核之间的延时,min为所有最小延时,max为最大延时.

覆盖文件的问题

上边的 filename 可以指定一个块设备,也可以指定块设备挂载到目录下的一个文件,可以新建一个文件,供 fio 进行测试,这样就不用担心数据覆盖的问题了。比如:

$ fio -filename=/data2/test/test.txt -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=4k -size=8G -numjobs=64 -runtime=10 -group_reporting -name=file