Java体系下的性能监控与调优
Jerry Du 查看讲师
百林哲咨询(北京)有限公司专家团队成员
资深技术专家、阿里云MVP,目前担任多家公司高级技术顾问,提供技术分享、培训和咨询等服务。
浏览:1207次
详情 DETAILS

讲师简介

Jerry Du--百林哲咨询(北京)有限公司专家团队成员

阿里云MVP,业界资深技术专家,多家公司高级技术顾问,提供技术分享、培训和咨询等服务。从事开发和架构工作近10年,擅长Java体系下各类技术栈、拥有微服务、分布式高并发、大数据平台系统架构经验,并对前端技术有所涉猎,曾担任多家创业公司CTO、合伙人,负责研发线所有产品技术架构、团队管理等工作,开发了多款金融、风控大数据、区块链等产品。著有国内首本原创相关书籍,受到多位业界知名技术专家联名推荐作序。

课程简介

在互联网+的今天,人们在PC、手机、Pad 上安装了各式各样的软件服务或APP,享受着互联网技术带来的高效和便捷。随着这些产品的高速发展,大家对高性能、稳定性、安全性、扩展性等方面有了更高的要求,而诞生于20多年前的Java平台,一直紧跟时代脉搏,兼收并蓄,持续优化,在编程领域交出最满意的答卷,最终成为现代互联网服务端开发的王者。当然,一种语言再强大,也不能在任何时候都能达到我们理想的状态。在实际工作中,我们会遇到非常多的性能问题,有些问题是需要在开发设计前通过规范避免的,有些问题是需要根据线上生产环境“边查边看边调整”的。很多工程师在遇到这些问题时,会根据一些浅显的表现来做很“粗暴”的处理,比如:OOM了就升配内存,CPU飙高就升核,超时异常过多就延长超时时间,诚然,在紧急情况下,有些处理能马上解决问题,但毕竟不是长久之计,甚至有时候会弄巧成拙。为了让大家对性能调优有更深的认识,本次课程我们会从JVM基础开始讲起,比如JVM内存模型、GC机制、堆内存分析等,然后延展开来,通过线上常见问题来实战化学习JVM的性能监控及调优策略。

课程收益

1、 对Java体系下整体性能与调优有全面的认知

2、 熟练掌握JVM内存模型以及GC调优全过程(命令行、JVisualVM、Arthas等工具 )

3、 熟练掌握服务器端调优策略与最佳实践(线程模型、IO、压缩等)

4、 熟练掌握代码级性能提升关注点,以及性能基准测试方法

受众人群

从事Java的开发人员、测试人员、以及对Java感兴趣的人员

课程周期

212H  

课程大纲

主题

授课内容

引子

介绍JVM内存模型及GC问题、性能优化、服务端的性能配置等

第一单元

JVM基础

 

 

该单元介绍JVM基础相关知识,包括:JVM组成、内存模型、启动参数、GC基础分析等

 

1. JVM组成及运行机制

2. Java内存模型

2.1 内存结构

2.2 内存与线程

3. JVM参数概要

3.1 启动参数格式

3.2 启动参数设置

3.3 常见启动参数

4. GC基础分析

4.1 GC信息查看

4.2 GC问题排查

4.2.1案例:快速查看线上的GC问题

4.3 常见GC算法浅析

 

第二单元

JVM内存及调优

 

该单元主要讲解堆内存分析、GC日志文件分析、内置命令行工具、堆内存分析及问题排查

5. 堆内存分析

5.1 堆内存结构

5.2 堆内存信息分析

5.3 OOM问题及内存dump文件

5.4 GC日志文件深度分析

5.4.1案例:一次线上GC导致的系统卡顿问题排查过程/OOM dump信息分析

6. 实战启动参数设置

6.1 GC日志配置

6.2 内存配置

7. 内置可视化诊断工具JVisualVM

7.1 功能概览与基础配置

7.2 线程监控与分析

7.3 内存监控与分析

7.4 CPU采样分析

8. 线上问题诊断工具Arthas 

8.1 Arthas功能概览

8.2 使用Arthas查看系统全景运行时状态

8.3 Arthas常见命令工具

8.4 线程问题诊断

8.4.1案例:快速找到最忙执行线程/代码

8.5 耗时问题诊断

8.5.1案例:快速排查线上调用链耗时问题

8.6 如何线上诊断代码级故障

第三单元

服务器性能调优实战

该单元主要讲解TomcatNginx的调优策略通过举一反三可以知道关于服务器性能调优的常规思路

9. 服务器调优综述

9.1 IO密集与CPU密集的区别

9.2 一次网络传输中的性能问题

9.3 线程池吞吐与相关指标

10. Tomcat调优实战

10.1 Tomcat常见参数与配置

10.2 Tomcat线程模型

10.3 Tomcat线程池调优

10.4 Tomcat中的压缩问题

11. Nginx调优实战

11.1 Nginx超时配置

11.2 Nginx连接数配置

11.3 Nginx工作进程优化

11.4 Nginx中的压缩问题

第四单元

编写高性能代码

该单元介绍编写高性能代码的一些实践技巧

12. 高性能代码技巧

12.1 线程池选型与参数调优

12.2 基于Stream的并发计算

12.3 尽量做到逢超时必配置

12.4 ThreadLocal的资源释放

12.5 GC友好的其他代码技巧

13. 基于JMH的性能测试

13.1 JMH基本介绍

13.2 JMH基本概念之ModeIterationWarmup等

13.3 使用JMH进行代码级性能基准测试


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