Java生产环境下性能监控与调优详解

第1章 课程介绍(Java秒杀课程老师倾力打造)
本章为大家介绍生产环境可能存在的问题和常用的性能监控工具,以及课程能学到什么,课程内容如何安排等,让大家对课程有个全貌的认识,从而更好的学习这门课程。
1-1 为什么学习这门课程?

第2章 基于JDK命令行工具的监控
本章带大家学习JDK的命令行监控工具的使用,包括jps、jinfo、jstat、jmap、jstack, 并结合MAT实战如何定位内存溢出,实战如何定位死循环和死锁。
2-1 JVM的参数类型
2-2 查看JVM运行时参数
2-3 jstat查看JVM统计信息
2-4 演示内存溢出
2-5 导出内存映像文件
2-6 MAT分析内存溢出
2-7 jstack与线程的状态
2-8 jstack实战死循环与死锁

第3章 基于JVisualVM的可视化监控
本章带大家学习可视化的监控工具JVisualVM的使用,学习如何用它来监控本地和远程的JAVA进程,包括监控内存、线程、方法执行时间等等。
3-1 监控本地java进程
3-2 监控远程的java进程

第4章 基于Btrace的监控调试
本章带大家学习如何安装btrace、如何编写btrace脚本来对生产环境下的代码进行监控调试,比如获取生产环境下某个方法的参数、返回值、异常、执行的行号等等。
4-1 btrace入门
4-2 拦截构造函数、同名函数
4-3 拦截返回值、异常、行号
4-4 拦截复杂参数、坏境变量、正则匹配拦截
4-5 注意事项

第5章 Tomcat性能监控与调优
本章带大家学习如何在本地来远程调试tomcat和对tomcat服务器的内存、线程等做监控,会介绍两款监控工具---tomcat自带的manager和开源的psi-probe,然后会讲解常用的tomcat的调优的方法。
5-1 tomcat远程debug
5-2 tomcat-manager监控
5-3 psi-probe监控
5-4 tomcat优化

第6章 Nginx性能监控与调优
本章带大家学习如何来安装nginx,并监控nginx的连接信息和请求信息,会介绍两款命令行工具ngx_http_stub_status和ngxtop,还有一款可视化工具nginx-rrd,然后会讲解常用的nginx的调优的方法。
6-1 nginx安装
6-2 ngx_http_stub_status监控连接信息
6-3 ngxtop监控请求信息
6-4 nginx-rrd图形化监控
6-5 nginx优化

第7章 JVM层GC调优
本章带大家学习JVM的内存结构,常见的垃圾回收算法和垃圾收集器,不同垃圾收集器的日志结构,然后介绍两款可视化的日志分析工具,通过分析日志得到GC的性能指标和出现GC的原因,最后带大家实战GC垃圾回收调优。
7-1 JVM的内存结构
7-2 常见的垃圾回收算法
7-3 垃圾收集器-1
7-4 垃圾收集器-2
7-5 GC日志格式详解
7-6 可视化工具分析GC日志
7-7 ParallelGC调优
7-8 G1调优
7-9 本章小结

第8章 JVM字节码与Java代码层调优
本章带大家学习JVM的字节码指令,从字节码层面讲解一些常见问题的底层原理(面试能回答上的话, 绝对加分),比如:i++和++i哪一种效率高?循环体中做字符串+拼接为什么效率低?然后会重点对String做讲解,包括String常量池的变化、String字面常量、String.intern等,最后分享老师在开发中积累的常用的JAVA代码优化的20多...
8-1 jvm字节码指令-1
8-2 jvm字节码指令-2
8-3 i++与++i
8-4 字符串+拼接
8-5 Try-Finally字节码
8-6 String Constant Variable
8-7 常用代码优化方法-1
8-8 常用代码优化方法-2

第9章 课程总结
本章带大家总结回顾本课程的重难点知识点,同时也希望大家能手动梳理出本门课程的知识架构脑图,方面大家以后建立知识体系以及深入的学习和解决更难的问题。
9-1 课程总结

下载地址:百度网盘下载

原文地址:https://www.cnblogs.com/qianduangou/p/9315659.html

时间: 2024-12-15 01:51:00

Java生产环境下性能监控与调优详解的相关文章

Spark Streaming性能调优详解(转)

原文链接:Spark Streaming性能调优详解 Spark Streaming提供了高效便捷的流式处理模式,但是在有些场景下,使用默认的配置达不到最优,甚至无法实时处理来自外部的数据,这时候我们就需要对默认的配置进行相关的修改.由于现实中场景和数据量不一样,所以我们无法设置一些通用的配置(要不然Spark Streaming开发者就不会弄那么多参数,直接写死不得了),我们需要根据数据量,场景的不同设置不一样的配置,这里只是给出建议,这些调优不一定试用于你的程序,一个好的配置是需要慢慢地尝试

Tomcat性能监控与调优

tomcat远程debug Tomcat是目前被应用得最多的一款Java Web服务器,很多人都会使用Tomcat来作为项目的服务器.也经常需要在开发的时候对Tomcat进行debug.在本地对Tomcat进行debug相信很多人都会,但如果需要对远程的Tomcat进行debug,相信有部分小伙伴还是没接触过的,而本小节将简单介绍一下如何对Tomcat进行远程debug. Tomcat远程debug是基于 JDWP 协议实现的,关于 JDWP 协议,可参考以下文档: https://www.ib

Linux系统CPU的性能监控及调优

前言: 性能优化是一个老生常谈的话题,典型的性能问题如页面响应慢.接口超时,服务器负载高.并发数低,数据库频繁死锁等.尤其是在“糙快猛”的互联网开发模式大行其道的今天,随着系统访问量的日益增加和代码的臃肿,各种性能问题开始纷至沓来. 在系统层面能够影响应用性能的一般包括三个因素:CPU.内存和IO,今天,我们先谈谈CPU性能的监控以及调优. CPU性能监控 当程序响应变慢的时候,首先使用top.vmstat.ps等命令查看系统的cpu使用率是否有异常,从而可以判断出是否是cpu繁忙造成的性能问题

Java项目性能监控和调优工具-Javamelody的学习总结

1.简介: JavaMelody能够在运行环境监测Java或Java EE应用程序服务器.并以图表的形式显示:Java内存和Java CPU使用情况,用户Session数量,JDBC连接数,和http请求.sql请求.jsp页面与业务接口方法(EJB3.Spring.Guice)的执行数量,平均执行时间,错误百分比等.图表可以按天,周,月,年或自定义时间段查看. 2.准备: 下载javamelody-1.47.0.jar和jrobin-1.5.9.1.jar,引用到项目中. 3.配置方法: 一般

JVM虚拟机性能监控与调优(JDK命令行、JConsole)

很多资料在介绍JDK命令行工具时并不是在Java8环境下,因此还在使用过时的永久区系列的参数,给一些读者造成困难. Java8使用Metaspace(元空间)代替永久区,对于64位平台,为了压缩JVM对象中的_klass指针的大小,引入了类指针压缩空间(Compressed Class Pointer Space) .关于这点,可以参考博客https://blog.csdn.net/liang0000zai/article/details/51168095. 1. JDK命令行工具 在JDK的开

DB2数据库性能监控和调优实践

1.性能调优概述 性能问题的症状 响应时间慢 吞吐量低 资源占用高(CPU.Memory.I/0等) 数据库角度 数据库逻辑设计 数据库物理设计(存储规划) SQL语句 数据库调优关键 I/O最关键 减少I/O 最大化I/O效率 存储规律,物理设计 CPU两个杀手 表扫描 排序 Memory命中率可能会骗人 SQL是一切问题的根源 2.性能调优步骤 明确问题->收集数据->分析数据->细化.定位问题->优化 3.DB2数据库监控工具-db2pd 3.1.监控工具总结 即时监控工具

MySQL写压力性能监控与调优

写压力调优:数据库的写.写压力性能监控.写压力调优参数 一.关于DB的写 1.数据库是一个写频繁的系统 2.后台写.写缓存 3.commit需要写入 4.写缓存失效或者写满-->写压力陡增-->写占读的带宽 1.BBU失效 2.写入突然增加.cache满 5.日志写入.脏缓冲区写入 二.写压力性能监控 全面剖析写压力:多维度的对写性能进行监控. 1.OS层面的监控:iostat -x [[email protected] mydata]# iostat -x Linux 2.6.32-642.

Tomcat 性能监控及调优

1.性能监控 方式1: /usr/local/tomcat7/conf/tomcat-users.xml 添加如下: <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> &l

Linux性能监控命令之lsof详解

1. lsof 命令介绍 lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口.因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工