在统信UOS中测硬盘真实读写速度需绕过缓存:dd命令用于5秒快检(写用oflag=direct,读前需sync),fio模拟多场景IO并关注IOPS与延迟,iozone遍历块大小与模式生成全维度报告,测试前须确认/tmp挂载于目标盘且用smartctl排查坏道。
在统信UOS终端中快速获取硬盘真实读写速度,需绕过缓存干扰、控制测试粒度并避免误判系统盘性能,否则测出的可能是内存带宽而非磁盘能力。
这一步操作起来很简单,直接把命令复制粘贴执行就行,适合5秒内判断硬盘是否严重降速。
1、测试写入:sudo dd if=/dev/zero of=/tmp/testfile bs=1M count=1024 oflag=direct
2、测试读取:sudo sync && sudo dd if=/tmp/testfile of=/dev/null bs=1M iflag=direct
注意:【/tmp目录必须挂载在目标硬盘上,若/tmp是tmpfs内存文件系统,结果将高达数GB/s,完全失真】。执行前先运行df -h /tmp确认挂载位置。
fio能模拟数据库、虚拟机、日志写入等真实负载,比dd更贴近业务场景,尤其适合SSD或企业级存储评估。
方法一:安装并运行预设模板
1、sudo apt install fio
2、sudo fio --name=randwrite --ioengine=libaio --iodepth=32 --rw=randwrite --bs=4k --direct=1 --size=2G --group_reporting
3、sudo fio --name=seqread --ioengine=libaio --iodepth=32 --rw=read --bs=1M --direct=1 --size=2G --group_reporting
方法二:单条命令覆盖常用组合
sudo fio -filename=/tmp/fiotest -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=4k -size=1G -numjobs=1 -runtime=60 -group_reporting -name=mytest
输出中重点关注“iops”和“lat(avg)”两列:IOPS超10万且平均延迟低于100μs属高性能NVMe;若随机读IOPS不足5000,需排查驱动或硬件故障。
iozone会自动遍历不同块大小(4K~16M)和访问模式,生成完整表格,适合对比升级前后性能变化或撰写测试报告。
第一步:安装工具
sudo apt install iozone3
第二步:执行全模式测试
sudo iozone -a -i 0 -i 1 -i 2 -s 1G -r 4k,64k,1m -F /tmp/iozone.out
第三步:提取关键值
cat /tmp/iozone.out | grep -E "(read|write|random.*read|random.*write)" | awk '{print $3,$4,$5}'
第四步:定位瓶颈
若1M块顺序读达800MB/s但4K随机读仅20MB/s,说明该盘适合大文件场景;若所有指标均低于标称值50%,【立即停止测试并运行smartctl -a检查Reallocated_Sector_Ct是否非零】。