gcc & fio磁盘性能测试

发布时间 2024-01-05 10:46:22作者: chy_cug

参考文档:https://baijiahao.baidu.com/s?id=1782101210392489357&wfr=spider&for=pchttps://blog.csdn.net/qq_42680332/article/details/110392126

安装前准备:
到百度网盘下载安装文件,地址为:https://pan.baidu.com/s/1AFhVaB5SLVun1cc_bXN2rw

一、实施部署
1、创建目录:mkdir -p /root/chy/
2、将下载的fiotest压缩文件夹中的内容上传到上述目录中,并解压;
3、使用本地yum源(见之前博客文章):
cp /etc/yum.repos.d/backup/LocalYum.repo /etc/yum.repos.d/
4、安装gcc
cd /root/chy/fiotest/gcc && rpm -ivh *.rpm --nodeps --force
which gcc
5、安装fio
cd /root/chy/fiotest/fio-3.34 && ./configure && make && make install
which fio

6、运行fio,进行磁盘性能测试
1)fio -filename=/data/fio_rand_testfile -direct=1 -iodepth=32 -thread -rw=randread -ioengine=libaio -bs=16k -size=10G -numjobs=8 -runtime=120 -group_reporting -name=mytest
2)fio -filename=/data/fio_write_testfile -direct=1 -iodepth=32 -thread -rw=randwrite -ioengine=libaio -bs=16k -size=10G -numjobs=8 -runtime=120 -group_reporting -name=mytest

二、运行结果:

 

 运行结果解读:

FIO 测试报告包含了大量的信息,以下是一些重要的指标:
-带宽(Bandwidth):数据传输速率,通常以 MB/s或 GB/s为单位。
- IOPS:每秒I/O操作数。
-平均延迟(Latency):I/O操作的平均响应时间。
-最大延迟(Max latency):I/O操作的最大响应时间。
-最小延迟(Min latency):I/O操作的最小响应时间。
这些指标可以帮助我们评估 SSD 的性能和稳定性。例如,高带宽和高 IOPS 表明 SSD 具有更快的数据传输速度;低延迟和稳定的延迟表明 SSD 具有更快的响应时间和更好的稳定性。

三、其他测试场景:
1)绕过缓存:
fio --name=testfile --directory=/tmp/chy/test_dir --size=1G --rw=randwrite --bs=4k --ioengine=libaio --iodepth=16 --numjobs=1 --runtime=30 --time_based --end_fsync=1 -direct=1
2)多线程测试:
fio --name=testfile --directory=/tmp/chy/test_dir --size=1G --rw=randwrite --bs=4k --ioengine=libaio --iodepth=16 --numjobs=4 --runtime=30 --time_based --end_fsync=1 -direct=1
3)随机读取测试:
fio --name=randread --directory=/tmp/chy/test_dir --size=1G --rw=randread --bs=4k --ioengine=libaio --iodepth=16 --numjobs=1 --runtime=30 --time_based --end_fsync=1
4)顺序写入测试:
fio --name=seqwrite --directory=/tmp/chy/test_dir --size=1G --rw=write --bs=1M --ioengine=libaio --iodepth=16 --numjobs=1 --runtime=30 --time_based --end_fsync=1
5)顺序读取测试:
fio --name=seqread --directory=/tmp/chy/test_dir --size=1G --rw=read --bs=1M --ioengine=libaio --iodepth=16 --numjobs=1 --runtime=30 --time_based --end_fsync=1
6)混合读写测试:
fio --name=mixedrw --rw=rw --rwmixread=70 --bs=4k --numjobs=1 --ioengine=libaio --iodepth=16 --runtime=60 --size=1G --filename=testfile --directory=/tmp/chy/test_dir