首页/数据/Redis 进阶速查/容量压测实施方法
性能与排障129 条

容量压测实施方法

压测方法:明确目标(容量/稳定性/瓶颈)→ 构造接近业务的负载模型 → 阶梯加压观察拐点 → 记录 Redis 与系统双视角数据 → 输出容量结论与风险点。

Redis 进阶速查数据更新于 2026-10-13

容量压测怎么做

容量压测是一套方法而不是一次命令执行:先明确目标(验证容量、验证稳定性还是找瓶颈),构造接近业务的负载模型,阶梯加压直到某个资源出现拐点,同时记录服务端与系统两侧的数据,最后产出容量结论与风险清单。

基本信息

目标类型容量评估、稳定性验证、瓶颈定位
负载模型读写比、键分布、值大小分布、并发模型
加压方式阶梯式递增,直到指标出现拐点
双侧记录服务端指标与系统指标在同一时间窗口采集
产出物容量结论、瓶颈资源、风险清单与扩容建议

典型使用场景

  • 新系统上线:确定单实例能承载多少业务量
  • 扩容决策:拐点落在哪个资源,就扩哪个资源
  • 配置验证:对比不同持久化策略或线程配置下的承载能力
  • 变更准入:大版本升级前用同一模型回归一次
  • 降级演练:模拟部分节点不可用时的剩余容量
  • 成本预算:把容量结论作为资源采购的依据

压测与采集

压测与采集
memtier_benchmark --ratio=1:9 --key-pattern=G:G --clients=30 --threads=4 -n 50000  # 业务感负载
redis-cli INFO stats | grep -E 'instantaneous_ops_per_sec'   # 服务端吞吐视角
redis-cli INFO cpu                                          # 主线程是否已经饱和
redis-cli INFO memory | grep -E 'used_memory_rss|mem_fragmentation_ratio'  # 内存与碎片
redis-cli INFO clients | grep -E 'connected_clients'         # 连接规模
vmstat 5                                                    # 系统层 CPU 与上下文切换
iostat -xz 5                                                # 磁盘是否成为瓶颈

拐点判读

资源拐点信号扩容方向
单核 CPU单核打满,延迟随并发上升分片或优化命令结构
内存开始出现淘汰或 OOM 风险扩容内存或收敛数据
网络带宽饱和,吞吐不再增长提升带宽或拆分流
磁盘刷盘延迟抬高换更快介质或调整持久化策略
连接数连接上限被顶住上调上限并配足文件描述符
压测的价值在拐点数据:哪个资源先饱和,扩容就该针对哪里,单纯看峰值吞吐数字说明不了太多问题。
负载模型要能被复现:固定随机种子、参数与数据规模,否则两次压测之间的差异无法归因到任何一次改动。

易错点

  • 只测峰值吞吐不测持续稳定性,上线后的表现与压测结论不符
  • 负载模型与业务分布差距大,结论无法迁移到生产环境
  • 压测数据与监控时间轴不对齐,出现瓶颈也说不清是哪一层
  • 压测机与被测实例共享资源,测出来的拐点属于压测机

数据来源与参考

  • Redis 官方实践:容量测试方法
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌