首页/数据/数据库速查/容量规划与规格估算
Redis 运维与场景124 条

容量规划与规格估算

容量=内存+连接+带宽三本账:内存≈键数×(数据+每键开销)×余量;连接=各客户端池+复制/监控;带宽按 QPS×平均报文;再给 fork 复制与缓冲区留空间。

数据库速查数据更新于 2026-10-12

估算与校准

估算与校准
# 内存粗估:单键平均字节 × 键数 × 1.3(元数据/碎片余量)
# 例:100 万键 × 1KB × 1.3 ≈ 1.3GB,再留 20-50% 给 fork/复制缓冲
# 用真实数据校准:
redis-cli MEMORY USAGE sample_key
redis-cli DBSIZE
redis-cli INFO memory | grep -E "used_memory_human|used_memory_peak_human"
redis-cli INFO stats | grep -E "total_net_input_bytes|total_net_output_bytes"
redis-cli INFO clients | grep connected_clients
内存三块数据 + 每键元数据(几十字节起) + 碎片
连接预算客户端池之和 + 复制 + 监控 + 运维余量 < maxclients
带宽QPS × 平均请求/响应字节,注意大 value 放大
余量峰值 30% 以上;fork 场景峰值可能到 1.5-2 倍
小 key 多时元数据占比高:100 字节的值实际可能占 150-200 字节;容量评审必须用样本实测而不是拍平均。

易错点

  • 忘算 fork/复制缓冲区:写入高峰时内存超越物理上限被 OOM Killer 干掉
  • 按平均值估算而不看峰值与分布:大 key 让 P99 完全失真

数据来源与参考

  • Redis 官方文档: 内存优化
  • Redis 官方文档: 容量规划

相关工具

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