- 课程目录
- 课程介绍
-
在线阅读:开篇词 | 万变不离其宗,性能优化也有章可循
性能优化最根本的目的,还是要跟上业务的发展脚步。
-
01 | CPU缓存:怎样写代码能够让CPU执行得更快?
这一讲介绍如何通过提升CPU缓存的命中率来优化程序的性能。
-
02 | 内存池:如何提升内存分配的效率?
在多种编程语言共存的分布式系统中,内存池有很广泛的应用。
-
03 | 索引:如何用哈希表管理亿级对象?
哈希表的运行时间不随着业务规模增长而变化。
-
04 | 零拷贝:如何高效地传输文件?
磁盘是主机中最慢的硬件之一,常常是性能瓶颈,所以优化它能获得立竿见影的效果。
-
05 | 协程:如何快速地实现高并发服务?
这一讲介绍高并发解决方案的演进过程以及协程的应用。
-
06 | 锁:如何根据业务场景选择合适的锁?
互斥锁、自旋锁、读写锁等等,你了解多少?
-
07 | 性能好,效率高的一对多通讯该如何实现?
从这一讲开始,我们将从单机进入网络层面的性能优化。
-
08 | 事件驱动:C10M是如何实现的?
从这一讲开始我们回到主流的一对一通讯方式。
-
09 | 如何提升TCP三次握手的性能?
这一讲介绍TCP握手过程中各状态的意义,并以状态变化作为主线,看看如何调整Linux参数才能提升握手的性能。
-
10 | 如何提升TCP四次挥手的性能?
这节课介绍四次挥手关闭连接时如何优化性能。
-
11 | 如何修改TCP缓冲区才能兼顾并发数量与传输速度?
这一讲主要介绍内核缓冲区对传输速度的影响。
-
12 | 如何调整TCP拥塞控制的性能?
这一讲会沿着网络如何影响发送速度这条线,看看如何调整Linux下的拥塞控制参数。
-
13 | 实战:单机如何实现管理百万主机的心跳服务?
结合前12讲,以一个可管理百万主机集群的心跳服务作为实战案例,看所有高性能服务的设计思路。
-
14 | 优化TLS/SSL性能该从何下手?
从这一讲开始,我们进入应用层协议的处理。
-
15 | 如何提升HTTP/1.1性能?
在不升级协议的情况下,这节课会介绍3种优化思路。
-
16 | HTTP/2是怎样提升性能的?
这一讲介绍HTTP/2对HTTP/1.1协议都做了哪些改进,从消息的编码、传输等角度说清楚性能提升点。
-
17 | Protobuf是如何进一步提高编码效率的?
这一讲重点介绍Protobuf的编码原理。
-
18 | 如何通过gRPC实现高效远程过程调用?
这一讲以一个实战案例,基于前两讲提到的HTTP/2和ProtoBuf协议,看gRPC如何将结构化消息编码为网络报文。
-
期中考试|行至半程,你的收获如何呢?
来挑战一下吧!
-
加餐1|特别福利:陶辉视频课精选
来自《Web协议详解与抓包实战》
-
加餐2 |答疑精选:这些问题你都清楚吗?
希望你能从别人的疑问中进行一次自检,引发更多的思考。
-
19 | 如何通过监控找到性能瓶颈?
这一讲介绍两个简单而又行之有效的监控方案。
-
20 | CAP理论:怎样舍弃一致性去换取性能?
这一讲基于分布式系统中的经典理论,从总体上看如何设计一致性模型,通过牺牲部分数据的一致性来提升性能。
-
21 | AKF立方体:怎样通过可扩展性来提高性能?
这一讲扩大范围,结合无状态服务,看看怎样提高分布式系统的整体性能。
-
22 | NWR算法:如何修改读写模型以提升性能?
这一讲介绍NWR算法的原理,包括它是怎样调整读写模型来提升性能的,以及Cassandra数据库是如何使用NWR算法的。
-
23 | 负载均衡:选择Nginx还是OpenResty?
这一讲以Nginx以及建立了Lua语言生态的OpenResty为例,看看负载均衡是怎样扩展系统的。
-
24 | 一致性哈希:如何高效地均衡负载?
这一讲介绍一致性哈希算法的工作原理,以及如何通过虚拟节点提升算法的均衡性。
-
25 | 过期缓存:如何防止缓存被流量打穿?
这一讲系统地介绍缓存及其数据变更策略,同时会以Nginx为例介绍过期缓存的用法。
-
26 | 应用层多播:如何快速地分发内容?
这一讲从应用层介绍如何实现多播功能。
-
27 | 消息队列:如何基于异步消息提升性能?
这一讲介绍如何在分布式系统中使用消息队列,以及高可用性又是如何保证的。
-
28 | MapReduce:如何通过集群实现离线计算?
这一讲介绍如何在分布式集群中实现离线计算,以及MapReduce是怎样提供SQL语言接口的。
-
29 | 流式计算:如何通过集群实现实时计算?
这一讲介绍流式计算的工作原理,以及流式计算常用的数据分片窗口。
-
30 | 如何权衡关系数据库与NoSQL数据库?
这一讲从关系数据库的特性出发,看看NoSQL数据库究竟做了哪些改变,以及如何选择。
-
加餐3 | 大厂面试到底在考些什么?
这节课会兼顾面试官与候选人两个视角,分享如何拿下一线大厂的技术面试。
-
大咖助场1 | 李玥:高并发场景下如何优化微服务的性能?
这节课会把“基础设施优化”这一部分中讲到的一些抽象的概念和方法,用举例子的方式来梳理一遍。
-
大咖助场2|庄振运:与程序员相关的SSD性能知识
近年SSD的发展和演化非常迅速,了解它的机制和性能,对你的工作会很有益处。
-
加餐4|百万并发下Nginx的优化之道
本文源自公众号高效运维,根据陶辉老师在GOPS 2018 · 上海站分享整理而成。
-
大咖助场3|傅健:那些年,影响我们达到性能巅峰的常见绊脚石(上)
这期分享会结合具体场景总结应对策略。
-
大咖助场4|傅健:那些年,影响我们达到性能巅峰的常见绊脚石(下)
这期分享会结合具体场景总结应对策略。
-
加餐5 | 如何理解分布式系统?
希望你在学习分布式系统的时候,不要因追逐“术”而丢了“道”。
-
加餐6|分布式系统的本质是什么?
这期分享主要介绍分治和冗余。
-
加餐7|深入剖析HTTP/3协议
这节课主要介绍HTTP/3协议规范、应用场景及实现原理。
-
结束语 | 从业 IT 20年后,我将最看重什么?
最后一课,希望你拥有优秀的结网能力和表达能力!
-
来领奖啦!你填写毕业问卷了吗?
有奖征集最后1天!
-
毕业问卷获奖用户名单
每一个声音都值得倾听,感谢你们,与我们共创内容!
-
期末测试|对于性能优化,你掌握了多少呢?
满分?多选20道
课程介绍
你将获得 以性能为核心的后端技能图谱; 系统化性能调优策略; 分布式系统调优最佳路径; 一线大厂性能面试题解析。 讲师介绍 课程介绍...你将获得
- 以性能为核心的后端技能图谱;
- 系统化性能调优策略;
- 分布式系统调优最佳路径;
- 一线大厂性能面试题解析。
讲师介绍
课程介绍
随着业务的日渐复杂,性能优化俨然成为了每一位技术人的必修课。从产品角度来看,性能就是“攻城略地”的最佳武器,我们期待能更苛刻地使用计算机和网络设备,去做性价比更高的事儿;而对程序员个人而言,具备系统的性能优化方法论,无论在架构设计还是应用模块开发上我们都能得心应手,还能轻松应对大厂面试、技术等级晋升考核等等。
当下业务发展速度极快且复杂,后端几乎都是分布式系统,“如何全面提升复杂集群的性能”无疑成为了最新课题。但如果你有意关注过这方面的信息,就会发现这部分资料市面上其实少之又少。
本课程将结合陶辉老师近20年的从业经验,为你归纳总结分布式性能领域所遇到的问题和解决方案,梳理出一条系统化的性能学习路径交付给你。在陶辉看来,解决性能问题并不难,关键在于抓住问题的本质,而最终要落地的就是最大化整个系统的综合效率。
具体内容上,分为4个层次,从基础设施、网络、编解码到分布式系统性能整体提升。
基础设施优化:从提升单机进程的性能入手,包括高效地使用主机的CPU、内存、磁盘等硬件,通过并发编程提升吞吐量,根据业务特性选择合适的算法。
系统层网络优化:分布式系统是由各个组件通过网络连接在一起的,所以优化传输层网络可以让所有组件同时受益。具体优化时,会从降低请求的时延、提升总体吞吐量两个方向入手。
应用层编解码优化:会对业务消息采用更高效的编码方式,这既包括协议头、包体的优化,也包括TLS安全层的性能提升。具体优化时,既会深入静态编码,也会从动态的增量编码上优化。另外,也会格外关注消息的交互方式。
分布式系统优化:会从集群整体上进行架构层面的优化。基于ACP、AKF、NWR等分布式理论,优化方向仍然是降低时延和提升吞吐量,但实现方式则会运用分而治之的思想,调度集群中的所有结点协作配合,完成性能优化目标。

课程目录

适合人群
非零基础课程,面向有2年以上工作经验的后端开发,适合有意愿深入了解“整体提升分布式系统性能”的软件工程师、架构师。要求熟悉最基本的硬件配置,对系统的某个模块有一定接触。

