背景说明
调优概述
监控依据:运行日志、异常堆栈、GC日志、线程快照、堆转储快照
调优大方向:合理编写代码、充分利用硬件资源、合理进行JVM调优
性能优化的步骤
- 性能监控(发现问题)
- 性能分析(排查问题)
1)打印GC日志,通过GCView查看
2)命令行:jstack、jmap、jinfo
3)dump出堆文件 - 性能调优(解决问题)
性能评价/测试指标
- 停顿时间:提交请求和返回该请求的相应之间的时间 / 用户线程停顿时间。
- 吞吐量:单位时间之内完成的工作量(web应用) / 用户运行代码的时间占总体时间(垃圾回收)
- 并发数:同一时刻,对服务器有实际交互的请求数
- 内存占用:java堆区占用的内存大小
- 相互间的关系
实例理解:
吞吐量:每天通过高速公路收费站的车辆数量
并发数:高速公路上正在行驶的车辆数
响应时间:车速