服务器终端性能测试之FIO

FIO是最常用的测试硬盘读写速率的工具,也有客户会用iozone
FIO试对磁盘进行压力测试和验证最常用的工具。磁盘IO是检查磁盘性能的重要指标,可以按照负载情况分成照顺序读写,随机读写两大类。FIO是一个可以产生很多线程或进程并执行用户指定的特定类型I/O操作的工具,FIO的典型用途是编写和模拟的I/O负载匹配的作业文件。也就是说FIO 是一个多线程io生成工具,可以生成多种IO模式,用来测试磁盘设备的性能
注意事项
1.不同硬盘接口主控协议类型型号固件版本都有差距,甚至同型号不同容量之间或者同一块硬盘在不同文件系统下也会有性能差距
2.测试之前一般需要清盘,heparm命令nvmecli命令都是较好的选择
3.ssd需要在测试前进行预处理,使硬盘进入一个稳态之后再取值
4.测试前和厂商确认一下固件版本
安装libaio包: dpkg –I libaio* rpm -Uvh libaio*

FIO工具拷贝到系统目录下
解压工具:# tar –zxvf fio-2.10.tar.gz
配置编译安装:#./configure
#make
#make install

清盘
nvme format -s 1 -f /dev/nvme0n1
hdparm --user-master u --security-set-pass PASSWORD /dev/sda 设置密码
hdparm --user-master u --security-erase PASSWORD /dev/sda 安全擦除
查看硬盘温度:
yum install -y hddtemp
hddtemp /dev/sdb
查看硬盘当前读写状态 iostat -dxm 3
测试ext4和xfs文件系统
nvme format nvme0n1
parted nvme0n1 rm 1 -s
parted nvme0n1 mklabel gpt -s
parted nvme0n1 mkpart primary ext4 2048s 100% -s
mkfs.ext4 nvme0n1
mkfs.xfs nvme0n1

设置睿频cpupower -c all frequency-set -g performance

将fio-test.sh脚本拷贝到fio目录
#!/bin/sh

#操作系统需要预先安装libaio库文件
#根据具体配置和测试需求,更改测试磁盘符Part,读写模型RWtype,和测试块大小SIZE
#若测试SAS SSD和NVME小块IOPS,需进行绑核测试才可测出最大性能,每个盘绑4~5个CPU核

for Part in b
do
for RWtype in read write randread randwrite
do
for SIZE in 4k 128k 256k
do

fio --output=sd" P a r t " " Part"_" Part""RWtype"_“ S I Z E " r e s u l t . l o g − − n a m e = m y j o b − − g r o u p r e p o r t i n g − − n o r a n d o m m a p − − n u m j o b s = 1 − − r w = " SIZE"_result.log --name=myjob --group_reporting --norandommap --numjobs=1 --rw=" SIZE"result.logname=myjobgroupreportingnorandommapnumjobs=1rw="RWtype” --direct=1 --ioengine=psync --filename=/dev/sd" P a r t " − − b s = " Part" --bs=" Part"bs="SIZE" --iodepth=32 --runtime=300

#taskset -c 0-4 fio --output=sd" P a r t " " Part"_" Part""RWtype"_“ S I Z E " r e s u l t . l o g − − n a m e = m y j o b − − g r o u p r e p o r t i n g − − n o r a n d o m m a p − − n u m j o b s = 5 − − r w = " SIZE"_result.log --name=myjob --group_reporting --norandommap --numjobs=5 --rw=" SIZE"result.logname=myjobgroupreportingnorandommapnumjobs=5rw="RWtype” --direct=1 --ioengine=libaio --filename=/dev/sd" P a r t " − − b s = " Part" --bs=" Part"bs="SIZE" --iodepth=32 --runtime=300

sleep 5
sync
echo 3 > /proc/sys/vm/drop_caches
done
done
done

执行测试:./fio-test.sh

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漂亮的丑小鸭丫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值