收藏

全技术栈企业级性能调优万花筒

【6大调优专题】:数据库+Tomcat+JVM参数+JVM-GC+Netty+Nginx ;1套高频调优面试集锦,为你的实力代言!

Java性能调优 6步实现项目性能全面升级+面试高频性能问题讲解

难度 中级 时长 25小时 学习人数 429 综合评分 10.00

Java性能调优 6步实现项目性能全面升级+面试高频性能问题讲解

  • 第1章 开宗明义:决胜性能调优 试看 1 节 | 9分钟

    攻克性能调优,钱多事儿少离家近的活儿任君选择!慕课网献给:年轻一代程序员“硬”技能课:企业级性能调优专题【赠电子书:http://dwz.date/aTSn】。

    收起列表

    • 视频: 1-1 攻克性能调优:给自己的程序生涯一次“弯道超车”的机会 (08:56) 试看
  • 第2章 专题一:全方位MySQL调优-序章【难度:☆ 实用性:☆☆新手技术】 8 节 | 74分钟

    本章从数据库优化的多个层面来阐述数据库优化的必要性,并带大家在线安装最新的版本的mysql,导入相关测试数据为后面的课程演示做准备,并初步对慢查询日志进行设置及测试,重点讲解慢查日志中的相关统计指标,为后续的sql调优打下坚实的基础。 ...

    收起列表

    • 视频: 2-1 全方位MySQL调优专题总览:构建知识体系 (03:38)
    • 视频: 2-2 数据库优化的必要性 (08:46)
    • 视频: 2-3 mysql的优化层面详解 (17:31)
    • 视频: 2-4 mysql在线安装及数据准备 (17:18)
    • 视频: 2-5 pd逆向导出数据库物理模型 (04:55)
    • 视频: 2-6 mysql慢查日志设置及测试 (10:34)
    • 视频: 2-7 jemeter压测mysql&慢查日志统计指标解析 (10:47)
    • 作业: 2-8 【讨论题】在做分布式系统设计的时候需要考虑哪些原则?
  • 第3章 专题一:全方位MySQL调优-慢查询优化【难度:☆☆ 实用性:☆☆☆ 工作常用】 6 节 | 71分钟

    对SQL调优首先得会解读慢查询日志,从慢查询日志中获取相关问题sql信息,从而精准调优。本章两大慢查询分析工具:mysqldumpslow,pt-query-digest,重点讲解和演示用法和示例,通过pt-query-digest利器解读慢查询日志,查找三类问题SQL。 ...

    收起列表

    • 视频: 3-1 mysqldumpslow用法详解及示例 (12:21)
    • 视频: 3-2 pt-query-digest安装及常用命令解析 (15:03)
    • 视频: 3-3 详解pt-query-digest分析慢查询日志报告1 (13:15)
    • 视频: 3-4 详解pt-query-digest分析慢查询日志报告2&监控死锁 (11:59)
    • 视频: 3-5 pt-query-digest其他命令演示及详解 (11:44)
    • 视频: 3-6 利用pt-query-digest利器查找三大类有问题的SQL (06:10)
  • 第4章 专题一:全方位MySQL调优-SQL执行计划【难度:☆☆☆实用性:☆☆☆☆ 】 6 节 | 100分钟

    找到问题sql,首要是查看并解读sql执行计划,从中了解执行步骤,找到真正造成sql执行缓慢关键点及原因并有针对性优化。本章从如何使用explain查看SQL执行计划开始讲解,着重讲解如何解读执行计划,并针对执行计划中重要指标字段进行详细讲解。 ...

    收起列表

    • 视频: 4-1 还原企业开发场景之SQL执行计划优化id列、select_type列【simple,primary,union】 (16:03)
    • 视频: 4-2 还原企业开发场景之SQL执行计划优化select_type列-进阶【union result,dependent union,subquery等】 (16:39)
    • 视频: 4-3 还原企业开发场景之SQL执行计划优化table列【system,const,eq_ref,ref】 (17:44)
    • 视频: 4-4 还原企业开发场景之SQL执行计划优化type列【fulltext,ref_or_null,unique_subquery,index_subquery等】 (15:43)
    • 视频: 4-5 还原企业开发场景之SQL执行计划优化核心列【possible_keys列、ref列;rows列等】 (18:43)
    • 视频: 4-6 还原企业开发场景之SQL执行计划优化extra列【using index condition,using temporary,using filesort等】 (14:43)
  • 第5章 专题一:全方位MySQL调优-灾难案例重演【难度:☆☆ 实用性:☆☆☆挑大梁】 11 节 | 132分钟

    在掌握了如何解读sql执行计划之后,我们已经初步掌握sql调优的一般步骤,此时需要梳理sql优化的思路并针对最常见的语句整理出调优思路。本章着重讲解常见的慢查询的优化思路,并且详细分析了常见的join语句,order by语句的原理以及优化思路。 ...

    收起列表

    • 视频: 5-1 慢查询优化思路概述-上 (14:39)
    • 视频: 5-2 慢查询优化思路概述-下 (08:51)
    • 视频: 5-3 mysql三种join方式及执行计划详解 (13:27)
    • 视频: 5-4 揭秘驱动表的选择对性能的影响 (12:43)
    • 视频: 5-5 join算法详解及优化思路 (12:43)
    • 视频: 5-6 join优化实操演示 (10:35)
    • 视频: 5-7 mysql其他几种优化注意点 (14:40)
    • 视频: 5-8 order by子句优化详解 (15:02)
    • 视频: 5-9 order by算法详解 (15:14)
    • 视频: 5-10 order by排序不一致问题&索引生效与否案例演示 (13:40)
    • 作业: 5-11 【讨论题】如何设计大型网站的高性能架构?
  • 第6章 专题一:数据库调优-企业级调优思维【难度:☆☆实用性:☆☆☆ 面试高频】 11 节 | 117分钟

    本章继续讲解group by语句,distinct语句的原理及优化思路,以及对索引的全面分析及讲解,并且演示了相关索引失效的案例和数据库其他方面的一些优化原则,涉及数据库字段,索引,sql,数据库结构优化等方面。

    收起列表

    • 视频: 6-1 group by的三种扫描类型详解与演示 (14:22)
    • 视频: 6-2 group by索引失效案例&distinct案例演示 (11:01)
    • 视频: 6-3 B-tree索引原理详解 (11:02)
    • 视频: 6-4 B+tree索引原理详解及创建索引原则 (11:57)
    • 视频: 6-5 索引失效情况案例详解 (14:26)
    • 视频: 6-6 mysql优化的终级奥义 (06:27)
    • 视频: 6-7 详解数据库字段&索引类的优化原则 (14:17)
    • 视频: 6-8 详解数据库sql类的优化原则 (13:42)
    • 视频: 6-9 详解数据库结构优化原则 (12:08)
    • 视频: 6-10 mysql调优知识点复盘 (06:55)
    • 作业: 6-11 【讨论题】如何设计大型网站的高可用架构?
  • 第7章 专题二:全视角Tomcat性能优化-配置【难度:☆实用性:☆☆ 】 8 节 | 51分钟

    本章主要讲解tomcat的下载及安装部署,以及常见功能的优化配置,如:禁用ajp,设置线程池,调整连接器的执行通道等等,重点讲解并演示tomcat的三大运行模式,让大家对tomcat调优先有个直观的认识。

    收起列表

    • 视频: 7-1 全视角Tomcat调优专题总览:构建知识体系 (02:49)
    • 视频: 7-2 部署安装tomcat (06:35)
    • 视频: 7-3 禁用ajp (09:01)
    • 视频: 7-4 启用线程池 (05:11)
    • 视频: 7-5 tomcat运行模式总览 (05:42)
    • 视频: 7-6 tomcat运行模式之阻塞与非阻塞(BIO|NIO) (09:34)
    • 视频: 7-7 tomcat运行模式之异步非阻塞与(NIO2|APR) (11:28)
    • 作业: 7-8 【讨论题】常见中间件为什么尽量不使用kill -9 进行强关
  • 第8章 专题二:全视角Tomcat性能优化-10大线程【难度:☆☆☆实用性:☆☆高手】 12 节 | 115分钟

    本章先带大家部署一个java web的servlet测试项目,主要功能是模拟业务延时,打包并部署,为后续讲解tomcat调优做准备。然后通过jmeter对java web项目进行压测,主要压测tomcat设置线程的极限及吞吐量,因为线程是支撑tomcat高效运行的基础,那么线程间又是如何配合完成任务的呢?本章后半部分将通过底层源码跟踪方式讲解t...

    收起列表

    • 视频: 8-1 部署web项目进行压测 (08:17)
    • 视频: 8-2 使用ApacheJMeter进行测试 (05:44)
    • 视频: 8-3 禁用ajp后的吞吐量 (03:35)
    • 视频: 8-4 修改线程池参数查看吞吐量1 (15:36)
    • 视频: 8-5 修改线程池参数查看吞吐量2 (14:47)
    • 视频: 8-6 main线程详解 (16:08)
    • 视频: 8-7 startstop线程&AsyncFileHandlerWriter线程详解 (09:24)
    • 视频: 8-8 ContainerBackgroundProcessor线程&Catalina-Utility线程详解 (09:25)
    • 视频: 8-9 acceptor线程详解 (07:00)
    • 视频: 8-10 ClientPoller线程详解 (08:47)
    • 视频: 8-11 exec线程详解 (06:54)
    • 视频: 8-12 BlockPoller线程&AsyncTimeout线程&其他线程详解 (09:06)
  • 第9章 专题二:全视角Tomcat性能优化-4大通道【难度:☆☆实用性:☆☆☆练实战】 13 节 | 161分钟

    本章主要讲解tomcat工作的总体流程,以及通过源码解读tomcat前端关键组件初始化和启动详细过程, 针对4大通道先讲解BIO通道的优点及存在的问题,以及针对BIO通道的缺点tomcat给出APR通道和NIO通道的解决方案;最后比较proactor模式和reactor模式,引出目前最高效的NIO2通道。...

    收起列表

    • 视频: 9-1 TOMCAT前端详细流程分解 (07:16)
    • 视频: 9-2 NIO通道各组件装配原理及源码解析 (13:11)
    • 视频: 9-3 NIO通道三大线程协调运行原理及源码解析1- (14:14)
    • 视频: 9-4 NIO通道三大线程协调运行原理及源码解析2- (08:49)
    • 视频: 9-5 NIO通道阻塞回写流程详解及源码解析 (13:51)
    • 视频: 9-6 BIO通道原理及源码解析 (13:30)
    • 视频: 9-7 手写单线程模式和多线程模式下的BIO通道并解析原理 (15:21)
    • 视频: 9-8 手写Selector模拟NIO轮询并解析原理 (20:00)
    • 视频: 9-9 NIO2通道关键组件源码解析 (06:15)
    • 视频: 9-10 NIO2通道非阻塞读流程详解及源码解析 (13:05)
    • 视频: 9-11 NIO2通道阻塞写流程详解及源码解析 (10:19)
    • 视频: 9-12 APR通道关键组件解析 (11:50)
    • 视频: 9-13 APR通道中tomcat-native子项目&apr网络包&openssl包详解 (12:37)
  • 第10章 专题二:全视角Tomcat性能优化-核心属性【难度:☆☆实用性:☆☆☆高逼格】 11 节 | 141分钟

    tomcat的高性能除了高效的线程模型和通道之外,还借助于其他相关属性,例如sendfile(零拷贝),compression(压缩),deferAccept(延迟接受),keepalive(保活)等技术。本章将从底层源码详细讲解这几种技术在tomcat中的实现。

    收起列表

    • 视频: 10-1 sendfile机制详解及性能压测 (17:26)
    • 视频: 10-2 源码解析sendfile在tomcat中的运行机制 (13:30)
    • 视频: 10-3 compression压缩属性概述- (04:54)
    • 视频: 10-4 comression性能压测对比 (18:54)
    • 视频: 10-5 源码解析compression压缩原理 (12:41)
    • 视频: 10-6 deferAccept参数优化详解 (10:06)
    • 视频: 10-7 keepalive原理剖析 (15:59)
    • 视频: 10-8 源码解析tomcat中keepalive的实现原理 (17:25)
    • 视频: 10-9 压测比较串行,并行垃圾回收器性能 (09:28)
    • 视频: 10-10 可视化工具分析串行,并行,g1垃圾回收日志报告 (14:10)
    • 视频: 10-11 tomcat调优知识点复盘 (06:06)
  • 第11章 专题三:JVM调优|参数篇【难度:☆☆实用性:☆☆☆ 升职加薪必备】 试看 12 节 | 108分钟

    本章将从jvm常见的调优参数入手,开始讲解jvm调优过程中的常用命令及相关工具,包括jmap,jhat,jstack,jvisualvm等常见调优工具以及MAT等专业故障排查工具,并通过几个实际案例讲解死锁,内存泄漏等故障排查方法及过程。让大家对jvm调优和故障排查过程有一个清晰的认识。 ...

    收起列表

    • 视频: 11-1 jvm优化概述及优化的必要性 (04:35)
    • 视频: 11-2 jvm运行参数-标准参数详解 (13:28)
    • 视频: 11-3 jvm运行参数-非标准参数详解- (10:42)
    • 视频: 11-4 jvm内存模型详解 (13:21)
    • 视频: 11-5 jvm内存模型续&jstat命令详解 (10:02)
    • 视频: 11-6 jmap使用详解 (12:10)
    • 视频: 11-7 MAT工具使用详解 (04:08)
    • 视频: 11-8 内存溢出定位与分析实战 (09:45) 试看
    • 视频: 11-9 jstack使用详解及定位死锁问题 (14:59) 试看
    • 视频: 11-10 jvisualvm使用详解 (11:39)
    • 视频: 11-11 jvm优化及jdk监控工具知识点复盘 (02:25)
    • 作业: 11-12 【讨论题】我们如何理解性能优化的最底层的逻辑?
  • 第12章 专题四: JVM调优|GC篇【难度:☆☆☆实用性:☆☆☆☆ 高薪职位必考】 14 节 | 119分钟

    GC是jvm调优环节中非常重要的一环,内存泄漏通常就是由于频繁的FULL GC引起的。本章主要讲解jvm调优过程中常见的GC算法,GC算法的优劣直接关系到GC的执行效率。所以对GC算法的熟练掌握是jvm调优的基础,对jvm的调优有着不可替代的指导意义。...

    收起列表

    • 视频: 12-1 垃圾回收概述 (03:56)
    • 视频: 12-2 引用计数法详解 (15:21)
    • 视频: 12-3 标记清除算法详解 (08:22)
    • 视频: 12-4 标记压缩算法详解 (01:58)
    • 视频: 12-5 复制算法详解 (08:39)
    • 视频: 12-6 分代算法详解 (01:23)
    • 视频: 12-7 垃圾收集器总体分类 (07:23)
    • 视频: 12-8 垃圾收集器详细分类 (08:58)
    • 视频: 12-9 串行垃圾收集器详解 (11:09)
    • 视频: 12-10 并行垃圾收集器-ParNew详解 (05:07)
    • 视频: 12-11 并行垃圾收集器-Parallel详解 (06:26)
    • 视频: 12-12 并发垃圾收集器-CMS详解 (12:50)
    • 视频: 12-13 G1垃圾收集器详解 (22:58)
    • 视频: 12-14 垃圾回收机制知识点复盘 (04:23)
  • 第13章 专题五: Netty调优-内存篇【难度:☆☆☆☆实用性:☆☆☆ 适合装逼】 13 节 | 150分钟

    内存池是一把双刃剑,如果使用不当,很容易带来内存泄漏和内存非法引用等问题,如何利用好池化技术,重用连接,防止反复申请和释放连接,提高连接使用率。本章将通过多个内存池使用不当导致的内存泄漏的案例做出分析,详细介绍ByteBuf的申请和释放策略,以及Netty内存池的工作原理及优化方案。通过对ByteBuf的故障排查案例...

    收起列表

    • 视频: 13-1 netty客户端连接池泄漏问题复现及原因解析 (13:29)
    • 视频: 13-2 netty客户端连接池泄漏优化方案最佳实践 (08:54)
    • 视频: 13-3 netty客户端创建原理解析 (09:22)
    • 视频: 13-4 netty客户端连接服务器源码解析-1 (14:16)
    • 视频: 13-5 netty客户端连接服务器源码解析-2 (13:37)
    • 视频: 13-6 netty内存池泄漏问题复现及排查 (13:33)
    • 视频: 13-7 源码跟踪writeAndFlush方法排除内存泄漏 (11:44)
    • 视频: 13-8 源码跟踪read方法找到内存泄漏真正原因 (10:12)
    • 视频: 13-9 netty内存池泄漏优化方案 (11:41)
    • 视频: 13-10 netty池化和非池化内存性能压测&总结 (03:50)
    • 视频: 13-11 代码模拟netty响应http获取body信息异常 (12:15)
    • 视频: 13-12 业务线程和NioEventLoop线程并发引发ByteBuf非法引用问题及优化实战 (14:29)
    • 视频: 13-13 ByteBuf的实现机制 (11:49)
  • 第14章 专题五: Netty调优-并发篇【难度:☆☆☆☆实用性:☆☆☆ 高手过招】 13 节 | 178分钟

    为了提升性能,如果用户实现的ChannelHandler包含复杂或者可能导致同步阻塞的业务逻辑,例如数据库操作,同步的第三方服务调用等。此时往往需要通过线程池来提升并发处理能力,线程池的策略直接关系到netty的性能,如果使用不当将造成netty性能急剧下降。netty的高并发涉及ChannelHandler方法调用和NioEventLoop线程,以及...

    收起列表

    • 视频: 14-1 代码模拟netty客户端消息积压 (09:59)
    • 视频: 14-2 源码解析消息积压原因及设置高水位解决积压优化方案 (15:42)
    • 视频: 14-3 源码解析ChannelOutboundBuffer管理消息原理 (13:52)
    • 视频: 14-4 源码解析netty发送消息机制 (11:36)
    • 视频: 14-5 API网关并发性能波动问题复现 (12:55)
    • 视频: 14-6 深度解析API网关性能波动原因及最佳优化方案 (19:38)
    • 视频: 14-7 设置跨链路共享的ChannelHandler (13:04)
    • 视频: 14-8 代码演示共享ChannelHandler的并发安全性问题及优化方案 (12:56)
    • 视频: 14-9 代码复现ChannelHanlder并发失效问题 (12:15)
    • 视频: 14-10 源码解析ChannelHanlder并发失效原因 (13:17)
    • 视频: 14-11 ChannelHandler2种并发优化策略最佳实践 (14:05)
    • 视频: 14-12 NioEventLoop线程夯住原因详解 (15:32)
    • 视频: 14-13 NioEventLoop多线程最佳实践 (12:23)
  • 第15章 专题六:Nginx调优-参数优化 14 节 | 139分钟

    Nginx的高效原理和其他组件其实都是差不多的,一般都是从线程模型角度来分析,nginx同样是基于高效的事件驱动模型。除了高效的网络模型之外,nginx还借助于其他辅助的技术实现高性能。例如:压缩,fastCGI,缓存等等。本章基于上述知识点对nginx进行全面的优化。 ...

    收起列表

    • 视频: 15-1 本章知识点概述 (03:22)
    • 视频: 15-2 为什么是nginx而不是apache (12:06)
    • 视频: 15-3 Nginx是如何做到高性能和高可扩展的 (12:41)
    • 视频: 15-4 Nginx运行工作进程数量优化 (04:18)
    • 视频: 15-5 Nginx运行CPU亲和力优化 (05:27)
    • 视频: 15-6 Nginx最大打开文件数优化 (13:00)
    • 视频: 15-7 Nginx事件处理模型优化 (10:01)
    • 视频: 15-8 Nginx开启高效传输模式 (05:36)
    • 视频: 15-9 Nginx连接超时时间优化 (11:16)
    • 视频: 15-10 Nginx-fastcgi优化 (15:17)
    • 视频: 15-11 Nginx-gzip优化 (10:45)
    • 视频: 15-12 Nginx-expires缓存优化&内核参数优化 (12:14)
    • 视频: 15-13 Nginx防盗链 (16:34)
    • 视频: 15-14 Nginx优化知识点复盘 (06:05)
本课程已完结

试看

全部试看小节



讲师

一名有10余年经验的互联网老兵,历经从传统软件公司到大型互联网公司的洗礼,早年在中兴通讯等大型通信公司担任项目leader,后随着互联网的崛起,先后在前美团支付等大型互联网公司担任架构师。对互联网架构底层技术有相当的研究和独特的见解,在多个领域有着丰富的实战经验。

课程预览

检测到您还没有关注慕课网服务号,无法接收课程更新通知。请扫描二维码即可绑定
重新观看
意见反馈 帮助中心 APP下载
官方微信

学习咨询

选课、学习遇到问题?

扫码添加指导老师 1V1 帮助你!

添加后老师会第一时间解决你的问题