
system-design-notes3亿用户Twitter的QPS和存储怎么估一道手算估算题完整拆解【免费下载链接】system-design-notesNotes of the book System Desgin Interview - An Insiders Guide项目地址: https://gitcode.com/GitHub_Trending/sy/system-design-notes在系统设计中QPS估算和存储需求估算是面试与架构设计的高频考点。开源笔记项目system-design-notes《System Design Interview - An Insiders Guide》配套笔记在 02. Back Of the Envelope Estimation/Readme.md 中收录了一道经典例题如何估算 Twitter 的 QPS 与存储量本文带你完整拆解这道手算估算题Back-of-the-Envelope Estimation学会从 3 亿月活用户出发一步步推导出峰值 QPS 与 5 年存储容量掌握大系统设计估算的通用套路。什么是手算估算手算估算Back-of-the-Envelope Estimation是一种快速粗略计算技能不追求精确答案而是通过量级推理验证设计方案能否扛住真实规模。Google 高级研究员 Jeff Dean 认为这类估算能帮助评估设计是否满足性能要求。它的三大核心价值✅验证架构容量单机够不够要不要分库分表✅对齐需求边界让3亿用户变成具体数字QPS、TB/PB✅展示思维过程面试官看重的正是推导逻辑而非计算器 估算的黄金法则写假设、标单位、大胆取整。第一步列出关键假设估算的第一步永远是把模糊需求变成明确假设。这道题的假设清单如下假设项取值月活用户MAU3 亿日活占比DAU/MAU50%人均每日发推数2 条含媒体图片等的推文占比10%数据保留周期5 年假设写得越清楚后面的推导越不容易跑偏——这也是 03. System Design Framework/Readme.md 中Step 1: Understand the Problem的核心理念。第二步QPS 怎么算从 MAU 到峰值QPSQueries Per Second估算分三步走1️⃣ 算出日活用户DAUDAU 300M × 50% 1.5 亿2️⃣ 把每天摊到每秒一天 24 小时 × 3600 秒 86400 秒平均 QPS 150M × 2 条 / 86400 ≈3500 次/秒3️⃣ 考虑峰值流量真实业务的流量有早晚高峰通用经验是峰值按平均值的 2 倍预留峰值 QPS 2 × 3500 ≈7000 次/秒 注意3500 只是写请求。实际读请求刷新信息流、看评论通常是写的数倍到数十倍完整设计时还需单独估算读 QPS 并引入缓存与 CDN。第三步存储需求怎么估30TB/天是什么概念存储估算的关键是先算单条数据大小再乘数量、乘时间。单条推文的大小构成字段大小tweet_id64 字节text正文140 字节media媒体1 MB由于媒体远大于文本存储几乎全由媒体决定且只有 10% 的推文带媒体1️⃣ 每日媒体存储量150MDAU× 2 条 × 10% × 1 MB 30 TB/天2️⃣ 5 年保留总量30 TB × 365 天 × 5 年 ≈55 PB55 PB 是什么概念它直接决定了这套系统不可能用单机存储必须走向水平扩展与对象存储分层。这也解释了为什么 Twitter 类系统要使用 CDN、对象存储和分片集群——估算结果反过来驱动架构选型。从估算到架构这套数字能撑起多少台服务器估算不止于纸面数字它要回答需要多少硬件。以 7000 峰值 QPS 为例如果单机可处理约 1000 QPS 写请求至少需要 7~10 台应用服务器再叠加读写分离的数据库副本、缓存与负载均衡整体规模在几十台量级——这正是典型的水平扩展场景而存储侧01. Scaling/Readme.md 给出了数据库独立部署与主从复制的演进路径——主库负责写、从库分担读55 PB 的数据还需要对象存储/分片方案承接4个让估算更专业的技巧取整优先99987 / 9.1直接心算成100000 / 10 10000估算比的是量级不是小数点。单位必须标注写30 TB/天而不是30避免量级事故。熟记2的次幂2^10≈1K、2^20≈1M、2^30≈1G、2^40≈1T、2^50≈1P心算 TB/PB 时张口就来见上方换算表。记住经典基准数据中心内往返约 500 微秒、SSD 随机读约 150 微秒、跨区约 150 毫秒——延迟数字决定了缓存与副本的设计取舍。另外估算时别忘了可用性几999.9% 意味着全年停机约 8.8 小时99.99% 则只有 52 分钟这直接影响容灾副本的数量决策。学习路径跟着 system-design-notes 继续练手这道 Twitter 估算题只是入门热身system-design-notes 按估算 → 框架 → 实战组织了一条完整学习线章节你将学到01. Scaling/Readme.md从单台服务器到百万用户的扩展之路02. Back Of the Envelope Estimation/Readme.mdQPS/存储/缓存/服务器数量估算全公式03. System Design Framework/Readme.md系统设计面试的 4 步答题框架06. Key-Value Store/Readme.md55 PB 级数据的分片与副本设计 掌握假设 → QPS → 存储 → 硬件这条估算链你就已经具备了拆解 Twitter、Instagram 这类十亿级系统的第一块拼图。动手算一遍比看十篇架构文更管用【免费下载链接】system-design-notesNotes of the book System Desgin Interview - An Insiders Guide项目地址: https://gitcode.com/GitHub_Trending/sy/system-design-notes创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考