性能调优,到底在调什么?

很多开发者遇到系统卡顿,第一反应是加机器、扩带宽,或者单纯依赖监控报警。但真正的性能调优,不是“头痛医头”,而是理解数据在硬件与软件之间流转的瓶颈。这门课不教你怎么用 Prometheus 配置告警,也不讲如何盲目升级服务器配置,它聚焦于**基础设施层的优化逻辑**——CPU 缓存、内存分配、I/O 传输、并发模型与锁机制。

你是否思考过:为什么同样的算法,在不同机器上性能差异巨大?为什么频繁的对象创建会成为系统瓶颈?为什么网络传输一个大文件时,内核态与用户态的拷贝如此致命?这些问题的答案,就藏在 CPU 缓存一致性、内存池设计、零拷贝技术以及协程调度原理中。本课程从底层原理出发,帮你建立对系统资源消耗的直观认知,不再凭感觉写代码,而是基于对硬件行为的理解来优化性能。

适合谁?前置能力有哪些缺口?

这门课适合有一定编程经验、但在性能优化方面缺乏系统认知的开发者。如果你曾困惑于“代码逻辑没问题,但线上性能就是上不去”,或者想知道如何根据业务场景选择适合的并发模型,那么这门课正是为你准备的。

建议先具备以下基础:熟悉至少一门高级语言(如 Java、Go、C++ 等)的基本语法,了解多线程/协程的基本概念,以及对操作系统中的进程、线程、I/O 模型有初步认识。如果你尚未接触过缓存概念、锁的种类或协程调度机制,不要担心,课程会从原理讲起,但前置理解能帮助你更快吸收内容。

课程结构清晰,分为三大模块:基础设施优化六讲为核心,涵盖 CPU 缓存、内存池、索引、零拷贝、协程与锁;期中考试与答疑环节帮助你巩固知识;大咖加餐则拓展 SSD 性能、Nginx 高并发实战等边界知识。

学完能做什么?如何配合练习?

学完本课程后,你将能够独立分析典型性能瓶颈的来源,识别代码中可能导致缓存失效、内存分配频繁、锁竞争激烈的隐患,并给出优化方向。例如,面对一个高并发服务,你能判断是否适合引入协程模型;在处理大量对象时,你能设计出合理的内存池策略;在传输大文件时,你能说明零拷贝的技术价值与适用场景。

课程资料包包含配套练习与案例代码,建议边学边练。每讲的核心概念都会在实际场景中验证,不要跳过练习直接看答案。性能调优是一门实践学科,只有在真实场景中踩过坑,才能真正掌握“怎么调”。期末测试将检验你对整体知识体系的掌握程度,而期中考试则帮助你查漏补缺,及时调整学习节奏。

不要追求速成,性能优化的思维需要时间沉淀。这门课给你的是“渔”而非“鱼”,一旦建立起对底层资源的敏感度,你将能独立应对更多复杂的性能挑战。

课程目录

开篇词 (1讲)

  1. 开篇词 _ 万变不离其宗,性能优化也有章可循

期末测试 (1讲)

  1. 期末测试|对于性能优化,你掌握了多少呢?

基础设施优化 (6讲)

  1. 01 _ CPU缓存:怎样写代码能够让CPU执行得更快?
  2. 02 _ 内存池:如何提升内存分配的效率?
  3. 03 _ 索引:如何用哈希表管理亿级对象?
  4. 04 _ 零拷贝:如何高效地传输文件?
  5. 05 _ 协程:如何快速地实现高并发服务?
  6. 06 _ 锁:如何根据业务场景选择合适的锁?

期中考试周 (3讲)

  1. 加餐1|特别福利:陶辉视频课精选
  2. 加餐2 |答疑精选:这些问题你都清楚吗?
  3. 期中考试|行至半程,你的收获如何呢?

加餐与分享 (9讲)

  1. 大咖助场2|庄振运:与程序员相关的SSD性能知识
  2. 大咖助场3|傅健:那些年,影响我们达到性能巅峰的常见绊脚石(上)
  3. 加餐4|百万并发下Nginx的优化之道
  4. 大咖助场4|傅健:那些年,影响我们达到性能巅峰的常见绊脚石(下)
  5. 加餐6|分布式系统的本质是什么?
  6. 加餐7|深入剖析HTTP_3协议
  7. 加餐3 _ 大厂面试到底在考些什么?
  8. 加餐5 _ 如何理解分布式系统?
  9. 大咖助场1 _ 李玥:高并发场景下如何优化微服务的性能_

系统层网络优化 (7讲)

  1. 07 _ 性能好,效率高的一对多通讯该如何实现?
  2. 08 _ 事件驱动:C10M是如何实现的?
  3. 09 _ 如何提升TCP三次握手的性能?
  4. 10 _ 如何提升TCP四次挥手的性能?
  5. 11 _ 如何修改TCP缓冲区才能兼顾并发数量与传输速度?
  6. 12 _ 如何调整TCP拥塞控制的性能?
  7. 13 _ 实战:单机如何实现管理百万主机的心跳服务?

应用层编解码优化 (5讲)

  1. 14 _ 优化TLS_SSL性能该从何下手?
  2. 15 _ 如何提升HTTP_1.1性能?
  3. 16 _ HTTP_2是怎样提升性能的?
  4. 17 _ Protobuf是如何进一步提高编码效率的?
  5. 18 _ 如何通过gRPC实现高效远程过程调用?

分布式系统优化 (12讲)

  1. 19 _ 如何通过监控找到性能瓶颈?
  2. 20 _ CAP理论:怎样舍弃一致性去换取性能?
  3. 21 _ AKF立方体:怎样通过可扩展性来提高性能?
  4. 22 _ NWR算法:如何修改读写模型以提升性能?
  5. 23 _ 负载均衡:选择Nginx还是OpenResty?
  6. 24 _ 一致性哈希:如何高效地均衡负载?
  7. 25 _ 过期缓存:如何防止缓存被流量打穿?
  8. 26 _ 应用层多播:如何快速地分发内容?
  9. 27 _ 消息队列:如何基于异步消息提升性能?
  10. 28 _ MapReduce:如何通过集群实现离线计算?
  11. 29 _ 流式计算:如何通过集群实现实时计算?
  12. 30 _ 如何权衡关系数据库与NoSQL数据库?

结束语 (3讲)

  1. 来领奖啦!你填写毕业问卷了吗?
  2. 毕业问卷获奖用户名单
  3. 结束语 _ 从业 IT 20年后,我将最看重什么?