衡量指标
一般使用以下指标衡量云硬盘的性能:
- IOPS:每秒读/写次数,单位为次(计数)。存储设备的底层驱动类型决定了不同的 IOPS。
- 吞吐量:每秒的读写数据量,单位为MB/s。
- 时延:I/O 操作的发送时间到接收确认所经过的时间,单位为秒。
测试工具
FIO 是测试磁盘性能的工具,用来对硬件进行压力测试和验证,本文以 FIO 为例。
使用 FIO 时,建议配合使用 libaio 的 I/O 引擎进行测试。请参考 工具安装 完成 FIO 和 libaio 的安装。
- 请不要在系统盘上进行 FIO 测试,避免损坏系统重要文件。
- 为避免底层文件系统元数据损坏导致数据损坏,请不要在业务数据盘上进行测试。
- 请确保
/etc/fstab文件配置项中没有被测硬盘的挂载配置,否则将导致云服务器启动失败。
测试对象建议
- 建议在空闲的、未保存重要数据的硬盘上进行 FIO 测试,并在测试完后重新制作被测硬盘的文件系统。
- 测试硬盘性能时,建议直接测试裸数据盘(如 /dev/vdb)。
- 测试文件系统性能时,推荐指定具体文件测试(如 /data/file)。
工具安装
- 本文以 CentOS 7.6 操作系统的云服务器为例。
- 执行以下命令,查看云硬盘是否4KiB对齐。
fdisk -lu
如下图所示,若返回结果中的 Start 值能被8整除即是4KiB对齐。否则请完成4KiB对齐后再进行测试。
![]()
3. 依次执行以下命令,安装测试工具 FIO 和 libaio。
yum install libaio libaio-devel fio -y
安装完成后,请参考测试示例开始云硬盘性能测试。
测试示例
不同场景的测试公式基本一致,只有 rw、iodepth 和 bs(block size)三个参数的区别。例如,每个工作负载适合最佳 iodepth 不同,取决于您的特定应用程序对于 IOPS 和延迟的敏感程度。
参数说明:
| 参数名 |
说明 |
取值样例 |
| bs |
每次请求的块大小。取值包括4k、8k及16k等。 |
4k |
| ioengine |
I/O 引擎。推荐使用 Linux 的异步 I/O 引擎。 |
libaio |
| iodepth |
请求的 I/O 队列深度。 |

44

被折叠的 条评论
为什么被折叠?



