课程 289 / 365
79%
正文已完成
L289别用大 O 替代真实性能证据
综合数据规模、常数成本、内存、网络和用户等待判断是否值得优化。
复杂度能预警规模增长后的风险,却不能告诉你当前慢在哪里。网络往返、磁盘读取、序列化和第三方服务常常比本地算法更贵。优化前要先定义用户可感知指标并测量。
能区分增长风险与当前瓶颈,并为优化决定提出真实测量证据。
核心概念
先把关键判断说清楚
端到端时间优先
用户等待包含排队、网络、计算和渲染,单看某个函数耗时可能错过主要瓶颈。
时间与空间会交换
映射和缓存用更多内存换取更少重复计算,是否值得取决于命中率、更新频率和容量。
规模上限影响选择
已知最多 20 项的设置列表不必为百万级优化;会持续增长的日志和向量集合则要提前设预算。
案例拆解
排序不是接口慢的主因
团队看到接口中存在排序就计划改算法,但 95% 延迟实际来自串行请求三个外部服务。
- 01
用追踪拆分 DNS、网络、外部请求、本地计算和序列化耗时。
- 02
确认本地 500 项排序只占 2 毫秒,三个串行外部请求占 1.4 秒。
- 03
先并行无依赖请求并设置超时,再复测端到端 p95。
案例结果
用户等待显著下降,团队避免了对非瓶颈算法的无效重写。
提交前练习
现在轮到你
为一个“感觉慢”的流程制定最小性能诊断方案。
内容会自动保存在当前设备
查看参考答案与评分标准
参考答案
指标是页面可交互时间 p95;分段是API、数据库、本地转换、渲染;规模是100、1,000、10,000 条;门槛是本地转换超过总时延 25% 且随规模超线性增长才重写。
评分标准
- 指标能反映用户体验
- 分段覆盖外部与本地成本
- 优化门槛基于测量而非猜测
本课收口 · 学习证据
完成,不等于随手打一个勾。
确认阅读、保存练习,再用 30 秒检查和一句话总结留下真实学习证据。
02完成本课练习0 / 4 项必填内容已填写
03通过理解检查约 30 秒
你现在更接近哪一种状态?
完成上面三项后,才能把本课记为已验证。
资料来源
继续核对与延伸阅读
本课内容最近更新于 。
- OpenTelemetry Signals↗official-docs · 核对日期 2026-08-23
- Monitoring Distributed Systems↗reference · 核对日期 2026-08-23