调优思路
- 了解当前的现象
有点赤脚医生问诊的意思
- 是否能重现
能重现的问题,定位难度都不大,至少可以 debug 。暂时不能重现,让测试想办法重现。
- 了解当前资源的使用情况
CPU、内存、磁盘、IO、硬盘 …
想办法找到性能瓶颈点
a. 日志分析
b. 工具分析(jstack,jmap …),产看调用栈,对象的使用情况,有没有死锁,锁住的资源有哪些?
c. 工具慢查询查看(durid 数据源工具)针对性能瓶颈点进行调优
调优手段
- 能缓存的缓存,能本地缓存就尽量用本地缓存
- 能异步的就异步
- 注重日志打印质量,减少垃圾日志打印
调优常见场景
- 响应报文太大,可能会造成响应时间慢,网络IO占用高。可以考虑数据压缩手段。
- 业务操作中,同步转异步,异步转同步,合并结果
- 通过设计减少RPC调用、数据库操作次数