你将获得
- 完整高效的性能调优路径
- 清晰的性能优化瓶颈分析思路
- 15+ 典型性能实现场景解析
- 一线大厂的性能优化实践经验
课程介绍
现在,网站和应用程序的功能越来越丰富了,对网络和设备性能的要求自然也越来越高。因此,实现高水平的系统性能,逐渐成为每一位程序员不可或缺的底层能力。可是,传统的性能优化视角,更多的是从问题与测量数据的角度出发,是被动式地解决性能问题。这种视角所驱动的性能优化工作,就会存在很多的局限性,比如说:
- 很容易造成代码可读性差,而且只是做到局部性的优化;
- 这种工作方式通常是在软件工程的后期才启动,发现问题会比较滞后;
- 一次性优化合入的代码量很大,导致软件版本发生质量问题的概率会比较大;
- 由于没有设计与数学理论的支撑,不知道性能优化目标在哪个范围内才是合理的;
- ……
那么要想规避这些问题,就必须从整个软件生命周期的视角去关注与审视软件性能,通过主动式地设计与实现来主导软件性能,这样才能保证软件性能长期保持竞争力。而这,正是这门课的设计原则。
在这门课中,尉刚强老师会分别针对基于性能的建模与设计、高性能的编码实现、性能看护和性能持续调优四个部分,讲解软件从设计到交付的一整套性能优化的实用方案,让你能够明确地理解和掌握系统级的性能优化的理念和方法,最后还会通过一个案例模块,来帮助你提升具体实施性能优化方法的能力。
这样,当你站在系统端到端的角度,分析从软件设计到工程发布上线这一整个过程中,软件性能一直处于可控状态的方法,思考这样做的出发点及背后支撑的理论是什么,就能够深入挖掘出全局的性能设计与优化的方法论,从而有效提升软件性能工程的管理能力。
课程模块设计
课程主体划分为以下 5 大模块。
性能设计篇:该模块会介绍几种在性能优化设计中非常关键,而且经常用到的设计方法,包括并发架构设计、内存模型设计、IO 通信设计等。另外,还会从性能扩展和调优的角度,讲解在软件设计阶段需要考虑的可监控设计、软硬件选型设计等,帮助你在实际的建模和设计过程中,支撑产品更好地实现性能需求。
性能实现篇:该模块会从编码实现的阶段入手,结合场景案例,带你了解和学习高性能编码的实现模式。同时,还会带你深入理解各种数据结构与算法,并从使用最为广泛的 Java 语言着手,给你讲解在不同的场景下,使用不同的算法所带来的性能差异,这样你在面临不同的业务问题时,就能精准地选择合适的算法,来提升性能。
性能看护篇:该模块会从性能测试前置这一核心的性能看护出发点着手,带你深入产品的组件级、系统级的多层级性能测试,让你在理解性能看护核心理念的基础上,清楚地知道该如何实现性能测试用例自动化,并能够集成到 CI 中,这样当你在提交代码时,就可以在第一时间发现性能腐化问题。
性能调优篇:该模块会给你分享一套性能调优的通用方法论,包括性能问题分析与定位的方法技巧,帮助你在实际的业务场景中,快速找到受限于性能瓶颈的资源,持续地监控分析目标。
案例篇:该模块会为你讲解多个在真实项目中实施性能优化的操作过程,帮助你提升落地性能优化方法的能力和技巧,以此帮助你明确做性能优化时需要考虑的两个问题:如何选择合适的性能优化方法?怎样才能更好地实施性能优化方法?