ONEPSOFT | 软考学习知识库
practice21|案例21 性能容量规划自测(理解型3题)
配套:deepread21.md(概念)+ calculate21.html(计算)。本测检验 " 真懂 "——能否用 Little 定律、算峰值 TPS、用 Amdahl 判断优化上限。
题目 1 · 概念辨析(Little 定律)
某订单系统监控显示:平均吞吐量 200 TPS,平均响应时间 0.8 秒。运维担心 " 并发太高会雪崩 "。
问:
(1) 当前系统内平均并发请求数约为多少?
(2) 若响应时间因某慢 SQL 恶化到 2 秒(吞吐不变),并发会变成多少?这说明了什么风险?
\
\
答案:
(1) L = λ×W = 200 × 0.8 = 160 个并发。
(2) 响应 2s 时 L = 200 × 2 = 400 个并发。并发从 160 飙到 400(2.5 倍),系统资源(连接/线程/内存)被迅速占满,易引发雪崩/拒绝服务。
教材依据(第 2 章 性能):系统性能含响应时间/吞吐率;三者平衡是容量规划基础。Little 定律 L=λW 是通用性能关系。
画像提示:你做现场管理也这样——单工序卡顿 (W↑),在场劳动力/设备 (L) 堆积,拥堵扩散。运维看 " 响应变慢→并发堆积 " 是雪崩前兆,要先治慢 SQL(降 W),而非盲目加机器。
\
题目 2 · 情境判断(容量估算定集群)
某新闻 App 预计上线首日日活 50 万,预测 20% 用户在晚 8 点黄金 30 分钟 (1800s) 集中刷新,人均 3 次请求。压测显示单台应用服务器稳定支撑 80 TPS。
问:黄金时段峰值 TPS 约多少?至少需几台应用服务器(不含余量)?若留 30% 余量实际部署几台?
\
\
答案:
峰值 TPS = 50 万 × 20% × 3 / 1800 = 300000 / 1800 ≈ 166.7 TPS。
不含余量:166.7 / 80 ≈ 2.08 → 至少 3 台(向上取整)。
留 30% 余量:3 × 1.3 ≈ 3.9 → 实际部署 4 台。
教材依据(第 2 章 性能 + #19 集群优化):容量规划=业务量换峰值 TPS,再据单节点能力定集群规模(水平扩展)。
画像提示:这就像你按峰值工期倒排设备台班——先算峰值产能需求,再定机组数量,并留备用(余量)防突发。运维容量规划同理:算清峰值、留余量、设扩容阈值。
\
题目 3 · 找错(Amdahl 上限误用)
架构师说:" 我们把缓存命中率从 0 提到 95%,这部分读取加速 10 倍(Kn=10),系统整体肯定快 10 倍。"
问:这句话错在哪?若读取操作只占系统总时间的 30%(Fn=0.3),实际整体加速比是多少?这给容量优化什么启示?
\
\
答案:
错在把 " 局部加速比 " 当 " 整体加速比 "。实际 Sn = 1/((1-0.3) + 0.3/10) = 1/(0.7 + 0.03) = 1/0.73 ≈ 1.37 倍,远非 10 倍。
教材依据(第 2 章 2.9.3 Amdahl):加速比取决于增强比例 Fn 与改进倍数 Kn。Sn = 1/((1-Fn)+Fn/Kn)。Fn 小则整体收益有限——剩余 (1-Fn)=70% 不可优化部分才是天花板。
画像提示:你做工期优化也常踩这坑——只压缩占比小的非关键工序,总工期几乎不动。正确做法:先找 Fn 大的瓶颈(如数据库慢查询、关键路径工序),那里优化才见效。容量优化同理:先治大头,别死磕已很快的环节。
\