首页/系统与基础设施/存储速查/存储性能压测方案设计要点
存储运维与性能60 条

存储性能压测方案设计要点

压测方案的价值在于先写清要回答的问题,再设计负载模型。读写比例、块大小、随机度、队列深度、数据集规模与缓存状态任何一个与业务不符,结果就只能用来比大小,不能用来做容量规划。

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌​‌​‌‌​‌‌​​​‌‌​‌‌‌‌​‌‌​​​​‌​‌‌​​‌​​​​‌​‌‌​‌​‌‌‌​‌​​​‌‌​​‌​‌​‌‌‌​​‌‌​‌‌‌​‌​​​​‌​‌‌​‌​‌‌​​‌​​​‌‌​​‌​‌​‌‌‌​​‌‌​‌‌​‌​​‌​‌‌​​‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

压测要先定义问题

存储压测最容易滑向「跑个分」:数字很大,但没人知道它对应哪种业务。有效方案从问题出发——是要验证验收指标、比较两套配置、还是为容量规划取数。问题不同,负载模型与判读方式都不同。设计时还要明确缓存与数据集规模:数据集如果明显小于缓存,测出来的其实是内存速度;数据集远大于业务常态,则又会夸大介质压力。

基本信息

设计要素目标问题、负载模型、数据集规模与冷热、时长与稳态、指标口径、对照基线
负载维度读写比例、块大小、随机与顺序、队列深度与并发数、访问热点分布
采集要求稳态区间内的平均值与分位数,必须包含 P99 及以上
环境要求尽量减少其他负载干扰,明确缓存与预热状态并写入报告
判读方式找稳态平台与拐点,而不是取瞬时峰值
副作用压测会真实写入数据、消耗介质寿命并占用精简置备与快照空间

典型使用场景

  • 新阵列或新链条上线验收,需要验证是否达到设计指标时
  • 选型对比,需要在同一负载模型下比较两套方案时
  • 调优前后对比,需要排除负载差异带来的干扰时
  • 为容量规划取数,需要知道单卷或单位容量能承载多少业务时
  • 排查性能争议,需要一套可复现的测量方法时

两类典型负载模型

两类典型负载模型
# 小随机写密集(数据库类):4K 随机读、高队列深度、直接 IO
fio --name=oltp --rw=randread --bs=4k --iodepth=32 --numjobs=4 \
    --runtime=300 --ramp_time=60 --direct=1 --group_reporting \
    --percentile_list=50:99:99.9 --filename=/data/test.bin
# 顺序大块读(备份扫描类):1M 顺序读,观察带宽上限
fio --name=scan --rw=read --bs=1M --iodepth=8 --runtime=300 \
    --direct=1 --filename=/data/big.bin
# 混合读写最贴近真实业务:按业务实测比例设置 rwmixread
fio --name=mix --rw=randrw --rwmixread=70 --bs=8k --iodepth=16 \
    --runtime=300 --direct=1 --filename=/data/mix.bin

负载维度与业务对应

维度业务含义设置思路
块大小访问粒度按业务实际读写粒度设置,别只测最大吞吐口径
随机度寻道压力数据库类偏随机,备份与媒体类偏顺序
队列深度并发压力按实际并发或应用线程数估算,过高只反映排队
数据集规模缓存命中比例需大于缓存容量,否则测的是缓存不是介质
压测报告中必须写明负载模型、缓存与预热状态、采样时段三项。缺少任一条件的数据,无法与其他结果比较,也无法支撑容量规划。
在生产存储上压测会真实占用精简置备池与快照空间,并消耗介质寿命。开工前要评估空间、性能影响与清理方案,测试文件用完及时删除并确认空间回收。

易错点

  • 负载模型与真实业务不符,分数很好看但无法用于容量规划
  • 只看 IOPS 与带宽不采分位数,忽略长尾与实际体验差异
  • 跳过预热与稳态阶段直接取峰值,结果不可复现
  • 数据集小于缓存容量,测出的其实是缓存性能
  • 压测后未清理测试文件,精简置备池空间被长期占用

数据来源与参考

  • SPEC 官方 SFS 文件系统基准规范
  • SNIA《Solid State Storage Performance Test Specification》
  • fio 与 Oracle Vdbench 官方文档

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/storage/storage-load-test-design.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌​‌​‌‌​‌‌​​​‌‌​‌‌‌‌​‌‌​​​​‌​‌‌​​‌​​​​‌​‌‌​‌​‌‌‌​‌​​​‌‌​​‌​‌​‌‌‌​​‌‌​‌‌‌​‌​​​​‌​‌‌​‌​‌‌​​‌​​​‌‌​​‌​‌​‌‌‌​​‌‌​‌‌​‌​​‌​‌‌​​‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​