目录
1、性能监控
一种以非强行或者入侵方式收集或查看应用运营性能数据的活动
1.1、GC频繁
1.2、cpu load过高
1.3、OOM
1.4、内存泄漏
1.5、死锁
1.6、程序响应时间较长
2、性能分析
2.1、打印GC日志
2.2、运用命令行工具
2.3、dump出堆文件,使用内存分析工具分析文件
2.4、使用JVisuamVM实时查看JVM状态
2.5、jstack查看堆栈信息
3、性能调优
3.1、适当增加内存,根据业务背景选择垃圾回收器
3.2、优化代码,控制内存使用
3.3、增加机器,分散节点压力
3.4、合理设置线程池线程数量
3.5、使用中间件提高程序效率。比如缓存,消息队列
4、性能评价
4.1、停顿时间
暂停时间:执行垃圾收集时,程序的工作线程被暂停的时间
-XX:MaxGCPauseMillis
4.2、吞吐量
在GC中:运行用户代码的时间占总运行时间的比例(总运行时间:程序的运行时间+内存回收的时间)1-1/(1+n)
-XXGCTimeRatio=n
4.3、并发数
4.4、内存占用
4.5、相互间的关系