高性能不是一个知识点,而是一条请求链路:流量从用户侧进来,经过 CDN、负载均衡、应用服务、缓存、数据库、消息队列,每一环都可能成为瓶颈。这份学习地图按链路把高性能模块的文章分成四组,并给出由面到点的学习顺序,帮助你把零散的技巧串成体系。

先想清楚在优化什么

性能优化的目标可以归到四类:降低延迟(尤其是 P99 长尾)、提升吞吐、削峰填谷、降低数据库压力。评价任何方案之前先明确当前场景卡在哪一项——盲目加缓存、上 MQ,常常只是把单机问题升级成分布式问题。面试中同理,先确认 QPS、数据量、读写比和一致性要求,再谈方案,比直接堆名词稳得多。

主题分组

流量入口与请求分发

这一组解决”流量怎么进来、怎么摊到多台机器上”的问题,是水平扩展的入口。

数据库与数据访问优化

单表扛不住时按”索引优化 → 读写分离 → 冷热分离 → 分库分表”的顺序逐级升级,每一步都用复杂度换容量。

消息队列与异步削峰

推荐学习顺序

  1. 建问题清单:先看 高性能系统设计面试题总结,知道高频考点在哪,带着问题学。
  2. 入口层:负载均衡,理解流量分发的位置与算法。
  3. 数据层主线:SQL 优化 → 深分页 → 读写分离与分库分表 → 冷热分离。这是面试和实战中出现频率最高的一组。
  4. 异步层:消息队列基础 → 面试题 → 按公司技术栈挑一个 MQ 深入。
  5. 回到链路:学完后试着完整推演一次”大促下单”链路,指出每一段的瓶颈候选和对应手段,能讲通才算掌握。

学习建议

  • 每学一个方案都问三个问题:解决什么瓶颈、引入什么新问题(一致性、复杂度、运维成本)、什么规模下才值得用。
  • 方案没有普适结论。读写分离在小流量下是浪费,分库分表在百万级数据时是杀鸡用牛刀,结论必须带前提。
  • 配合压测和慢查询日志等一手证据学习,只背目录形成不了工程判断力。