Java应用系统调试与调优技术
Ink Zhou 查看讲师
百林哲咨询(北京)有限公司专家团队成员
现就职于一家大型互联网公司,8年软件系统开发经验,对Spring Cloud、微服务、持续集成、持续交付、容器生态圈常用组件均有涉猎。
浏览:4211次
详情 DETAILS

简介

随着项目业务的发展,各种性能问题逐渐浮现,性能调优有助于提升用户体验、节省企业成本、改善项目能力,但如何调优却是难中之难。本课程采用理论结合实战的方式,帮助大家:

1.借助各种工具,迅速发现性能瓶颈

2.沉淀调优的理论支撑,帮助大家有能力去实施调优

3.通过实战,积累调优经验

目标

1.系统掌握性能调优相关的知识体系

2.掌握各种性能调优工具如何使用,并能分析项目的性能瓶颈

3.调优技巧分享

受众人群

从事Java的开发人员、测试人员以及对系统调优有兴趣的人群

课程时长

3天(18H)

分享提纲

方向

内容安排

课程综述

l 什么是调优?调优的目的是什么?

l 应用系统中有哪些可调优的方向

l 调优三板斧-帮助你快速上手调优

l 调优的原则

l 本套课程的目标

应用调优1-如何迅速发现应用系统的性能瓶颈?

l 日志分析工具

l 自建日志追踪体系

l 调用链跟踪工具与对比

l Skywalking是什么?

l 安装Skywalking

l Skywalking监控Java应用

l Skywalking监控数据库

l Skywalking高可用

l Skywalking存储

l 链路跟踪原理剖析

方向

内容安排

应用调优2-其他监控工具

l 为什么要实现监控与可视化

l 案例分享:我们应用的监控是怎么做的?

l Spring Boot Actuator实战与原理剖析

l Spring Boot Admin - Spring Boot Actuator界面

l Prometheus实现更为全面的监控

l psi-probe实现传统Tomcat的监控

l ELK实现日志监控

l 实战1:定位应用层面性能问题的通用思路与步骤

l 实战2:线程池调优

l 实战3:Tomcat调优

应用调优3-常用调优技巧

l 对象池调优详解(对象池详解 + 调优技巧)

l 连接池调优详解(连接池详解 + 调优技巧)

l 线程池调优详解(线程池详解 + 调优技巧)

l 异步化(本地 + 远程异步化)

l 分布式缓存调优详解

l 锁优化(synchronized/ReentrantLock/ReentrantReadWriteLock/StampedLock…)

l 实战1:线程池调优实战

方向

内容安排

JVM调优1-理论篇

l JVM调优概述

l JVM内存结构详解

l 类加载过程详解

l 编译器优化机制详解

l 方法内联讲解

l 逃逸分析、标量替换、栈上分配

l 垃圾回收开篇

l 垃圾回收算法讲解

l 垃圾回收分代收集算法讲解

l 垃圾收集器1-相关术语与新生代收集器

l 垃圾收集器2-老年代收集器

l 垃圾收集器3-G1收集器

l 垃圾收集器5-如何选择垃圾收集器

l 垃圾收集器6-垃圾收集器相关JVM参数

l 其他垃圾收集器

l 垃圾收集器相关JVM参数总结

JVM调优2-工具篇

l 内置工具1-监控类工具:jps、jstat

l 内置工具2-故障排查类工具:jinfo、jmap

l 内置工具3-故障排查类工具:jstack、jhat

l 内置工具4-故障排查类工具:jcmd、jhsdb

l 内置工具5-可视化工具:jhsdb-hsdb

l 内置工具6-可视化工具:jconsole

l 内置工具7-可视化工具:VisualVM

l 内置工具8-商业授权工具:JMC

l 第三方工具1-MAT

l 第三方工具2-JITWatch

方向

内容安排

JVM调优3-实战篇

l 实战1:手把手分析GC日志

l 实战2:CPU过高问题定位

l 实战3:内存溢出问题定位-堆内存溢出

l 实战4:内存溢出问题定位-栈内存溢出

l 实战5:内存溢出问题定位-方法区内存溢出

l 实战6:内存溢出问题定位-直接内存溢出

l 实战7:内存溢出问题定位-代码缓存区溢出

l 实战8:定位并解决项目越来越慢的问题

数据库调优-慢SQL发现与分析

l 数据库调优的维度

l 测试数据准备与数据操作工具

l 慢查询日志与分析

l EXPLAIN详解(使用、可视化、扩展与性能计算公式)

l SQL性能分析

l OPTIMIZER TRACE详解

l 数据库诊断命令

l 慢查询日志

l EXPLAIN详解

l MySQL SQL性能分析

l OPTIMIZER_TRACE详解

l MySQL数据库诊断命令

数据库调优-调优理论

l 索引数据结构-B-Tree索引、Hash索引、空间索引、全文索引

l B-Tree(B+Tree)、Hash索引的特性与限制

l 创建索引的原则

l 索引失效与解决方案

l 索引调优技巧1-长字段的索引调优

l 索引调优技巧2-单列索引 vs 组合索引

l 索引调优技巧3-覆盖索引

l 索引调优技巧4-重复索引、冗余索引、未使用的索引如何处理

数据库调优-常用语句的调优

l JOIN语句优化1-JOIN种类、算法与原理

l JOIN语句优化2-如何优化JOIN语句

l Limit语句优化

l COUNT语句优化

l ORDER BY语句优化

l GROUP BY语句调优与DISTINCT语句调优

l 表结构设计优化

数据库调优-调优神器Percona Toolkit

l 安装

l 使用

l 其他工具

数据库调优-复杂SQL调优实战

l 实战1:常规调优方式

l 实战2:激进调优方式

课程总结

l 课程总结


企业服务热线:400-106-2080
电话:18519192882
投诉建议邮箱:venus@bailinzhe.com
合作邮箱:service@bailinzhe.com
总部地址:
北京市-丰台区-汽车博物馆东路6号3号楼1单元902-B73(园区)
全国客户服务中心:
天津市-南开区-桂苑路15号鑫茂集团鑫茂军民园1号楼A座802-803
公众号
百林哲咨询(北京)有限公司 京ICP备2022035414号-1