测试 IOPS(Input/Output Operations Per Second,每秒输入/输出操作次数)是评估存储设备(如硬盘、SSD或云存储)性能的关键方法。以下是常见的测试工具和步骤:
一、常用测试工具
Fio(Flexible I/O Tester)
跨平台(Linux/Windows/macOS),功能强大,可自定义测试模式。
安装命令(Linux):
sudo apt install fio # Debian/Ubuntu sudo yum install fio # CentOS/RHEL示例测试命令: “`bash
随机读IOPS(4KB块大小,队列深度=32,直接IO)
fio –name=randread –ioengine=libaio –rw=randread –bs=4k –numjobs=1
–size=1G –runtime=60 –time_based –group_reporting –iodepth=32 –direct=1
# 随机写IOPS fio –name=randwrite –ioengine=libaio –rw=randwrite –bs=4k –numjobs=1
--size=1G --runtime=60 --time_based --group_reporting --iodepth=32 --direct=1”`
Iometer
- Windows平台常用工具,支持图形界面和自定义测试场景。
- 下载地址:Iometer官网
CrystalDiskMark
- Windows简易工具,适合快速测试(默认顺序读写,需切换至随机模式测IOPS)。
- 下载地址:CrystalDiskMark官网
dd(基础顺序读写测试)
- 仅适合简单顺序吞吐量测试,不适用于随机IOPS测试。
二、关键参数说明
- 块大小(Block Size,
--bs):通常用 4KB 模拟随机小文件操作。 - 队列深度(IODepth,
--iodepth):越高越能压测硬件并发能力(SSD建议≥32)。 - 读写模式(
--rw):
randread(随机读)、randwrite(随机写)
randrw(混合读写,需指定读写比例)
- 直接IO(
--direct=1):绕过系统缓存,反映真实磁盘性能。 - 线程数(
--numjobs):模拟多任务并发。
三、示例完整流程(Linux+Fio)
安装Fio:
sudo apt update && sudo apt install fio运行随机读IOPS测试:
fio --filename=/dev/sda \ # 测试设备(替换为实际磁盘) --rw=randread --bs=4k \ --iodepth=32 --runtime=60 \ --numjobs=1 --name=iops_test \ --group_reporting --direct=1输出结果中的
iops=即为IOPS值。混合读写测试(70%读+30%写):
fio --filename=/dev/sda \ --rw=randrw --bs=4k \ --iodepth=32 --runtime=60 \ --numjobs=4 \ # 4线程并发 --rwmixread=70 \ # 读写比例 --name=mixed_iops_test \ --group_reporting --direct=1
四、注意事项
- 避免在生产环境直接测试:高负载可能影响系统稳定性。
- 选择代表性参数:根据实际业务场景调整块大小、队列深度和读写模式。
- 多次测试取平均值:避免偶然性,尤其是云磁盘可能受邻居租户干扰。
如果需要针对特定场景(如数据库、虚拟机)的IOPS测试方案,可进一步提供具体需求!
内容由零声教学AI助手提供,问题来源于学员提问




