- 调优之前准备工作:
- 运行日志
- 异常堆栈
- GC日志
- 线程快照
- 堆转储快照
- 性能优化的步骤:
- 发现问题: 性能监控
- GC频繁
- CPU load过高
- OOM
- 内存泄漏
- 死锁
- 程序响应时间较长
- 排查问题: 性能分析
- 打印GC日志,通过GCViewer或其他工具分析日志信息
- 灵活使用命令行工具
- dump出堆文件, 使用内存分析工具分析文件
- 使用Arthas或jconsole,JVisualVM实时查看JVM状态
- jstack查看堆栈信息
- 解决问题: 性能调优
- 适当增加内存, 根据业务背景选择垃圾回收器
- 优化代码, 控制内存使用
- 增加机器, 分散节点压力
- 合理设置线程池线程数量
- 使用中间件提高程序效率, 如缓存, 消息队列等
- 其他…
- 发现问题: 性能监控
- 性能评价\测试指标
- 停顿时间\响应时间
- 吞吐量: 程序运行时间/(程序运行时间+GC时间)
- 并发数: 同一时刻 对服务器有实际交互的请求数
- 内存占用: Java对区所占内存大小
JVM-17-性能监控与调优概述
最新推荐文章于 2024-01-16 15:58:44 发布