输入流量与数据假设,估算系统设计面试中的 QPS、读响应带宽和存储量。计算在浏览器中完成;可复制带参数的链接,与面试伙伴对比方案。
容量估算
- 平均请求量
- 231.48 QPS
- 峰值请求量
- 694.44 QPS
- 峰值读请求
- 625 QPS
- 峰值写请求
- 69.44 QPS
- 峰值读响应带宽
- 25 Mbps
- 保留数据 × 全部副本
- 2.19 TB
每日新增逻辑数据:2 GB
存储按每日平均写入累积;不会乘以峰值倍数。
当前显示默认示例。
公式与默认示例
默认输入为 100 万 DAU、每人每天 20 次请求、90% 读取、3 倍峰值、5 KB 读响应、1 KB 新增写入、保留 365 天、共 3 份副本。
| 指标 | 计算方法 | 默认结果 |
|---|---|---|
| 平均 QPS | DAU × 每人每日请求数 ÷ 86,400 | 20,000,000 ÷ 86,400 ≈ 231.48 |
| 峰值 QPS | 平均 QPS × 峰值倍数 | 231.48 × 3 ≈ 694.44 |
| 读 / 写 QPS | 峰值 QPS × 各自请求占比 | 625 读 / 69.44 写 |
| 读响应带宽 | 峰值读 QPS × 响应 KB × 1,000 × 8 ÷ 1,000,000 | 625 × 5,000 × 8 = 25 Mbps |
| 保留存储 | 每日写次数 × 新增 KB × 1,000 × 天数 × 总副本数 | 2 GB/日 × 365 × 3 = 2.19 TB |
先说明这些边界
- QPS 是外部请求量,不等于数据库 QPS。缓存、批处理和一次请求的多次下游调用,都会改变后端负载。
- 带宽仅包含读响应有效载荷,不含请求上传、协议头、复制流量或重试;不是总网卡容量。
- 存储假设每次写入都新增指定体积的数据,达到保留期后删除。覆盖更新、去重、压缩、索引、日志、备份和容量余量需单独估算。
- 峰值倍数是假设,不是监控结果。副本乘法也不代表压缩、纠删码或云厂商实际计费。
- 本工具帮助进行量级推算,不能直接推出服务器台数。机器容量需要按实际请求类型压测。
用估算推动设计决策
把读取占比从 90% 改到 99%,观察写入存储下降、读响应带宽上升;再只调整峰值倍数,检查存储是否保持不变。最后说明哪个假设最不确定,以及如何用监控或压测验证。
继续练习:酒店预订系统 · 电商系统 · 系统设计 30 题
常见问题
如何从 DAU 估算 QPS?
用 DAU 乘以每位用户每天的请求数,再除以一天的 86,400 秒,得到平均 QPS。峰值需要另外给出倍率或实际监控数据。
1 TB 按 1,000 还是 1,024 计算?
本工具统一使用十进制:1 KB = 1,000 bytes,1 GB = 10^9 bytes,1 TB = 10^12 bytes。二进制单位应写为 KiB、GiB、TiB。
这些数字能用于生产容量规划吗?
它们是基于输入假设的量级估算。生产规划还需要实际请求分布、故障余量、延迟目标、索引日志等额外开销,以及压测结果。