首页/云/云平台与虚拟化速查/云盘性能指标与压测

云盘性能指标与压测

评估云盘性能看三个指标:IOPS(每秒读写次数)、吞吐(MB/s)与时延(ms);不同业务关注点不同,选型要基于实测。

云平台与虚拟化速查云更新于 2026-10-13

云盘性能指标与压测

评估云盘性能看三个指标:IOPS(每秒读写次数)、吞吐量(MB/s)与时延(毫秒)。随机小 IO 场景看 IOPS 与时延,顺序大 IO 场景看吞吐。云盘的实际性能同时受云盘档位与实例规格两重限制,压测得到的是两者共同作用的结果,把标称值当实际能力是最常见的误判来源。

基本信息

三个指标IOPS、吞吐、时延,三者互相牵制,高 IOPS 往往伴随时延上升
IO 模型随机小块(数据库)、顺序大块(日志与备份)、混合读写
双重约束云盘档位上限与实例规格带宽上限,取其中较小者
压测工具Linux 下常用 fio,可指定块大小、队列深度与读写模式
观察口径关注稳定态与 P99 时延,而非只取峰值

典型使用场景

  • 选型前评估:数据库盘选哪一档,用压测结论替代参数表猜谜
  • 上线前验收:确认实际能跑到业务峰值所需的 IOPS 与吞吐
  • 故障定位:业务变慢时判断是盘受限还是应用层问题
  • 调优验证:调整队列深度、调度策略后复测是否见效
  • 成本权衡:确认低一档也能满足业务,避免长期为闲置性能付费

fio 压测随机读

fio 压测随机读
sudo fio --name=randread --ioengine=libaio --direct=1 \
  --rw=randread --bs=4k --iodepth=64 \
  --size=2G --numjobs=1 --runtime=60 --group_reporting
# bs=4k 模拟数据库随机小 IO;iodepth 模拟并发队列深度
# --direct=1 绕过页缓存,避免内存缓存把结果做好看
# 顺序吞吐场景改成 --rw=read --bs=1M

指标读法

指标含义重点关注业务
IOPS每秒完成的读写次数数据库、小文件密集服务
吞吐每秒传输的数据量日志、备份、视频与大文件处理
时延单次 IO 的响应时间交互式业务,P99 比均值更有意义
队列深度并发未完成 IO 数量深度不足压不出盘的上限
在业务低峰压测,或用独立测试盘验证;压测参数(块大小、队列深度、读写比例)要贴近真实负载。
直接对生产数据盘做写压测会破坏数据:写测试只能在空盘或测试盘上做,读测试也要确认不会与业务 IO 争抢。

易错点

  • 用 dd 单流顺序写评估数据库盘,结论与真实随机 IO 差异很大
  • 忽略实例侧云盘带宽上限,压测结果低于云盘标称值即误判为云盘不行
  • 只看平均时延不看 P99,业务侧偶发超时长期找不到原因
  • 在生产盘上直接跑写压测,造成数据损坏

数据来源与参考

  • 阿里云 块存储性能文档
  • 腾讯云 云硬盘性能文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌