本人在参加Java开发的项目中,多次遇到服务器出现性能问题,有比较丰富的调优经验,解决过的问题分类如下:
1、SQL性能问题,这种问题出现较多,一般是没有使用合适的索引,或者写的SQL太复杂
2、JVM无法回收内存问题,一般是有部分代码存储了较大的对象在内存中,可以通过分析Heapdump文件找出对应的问题点
3、Java性能瓶颈,通过pinpoint、athas等工具可以定位Java代码性能问题,然后分析和提出改进的方案
4、连接泄漏问题,有些代码使用数据库连接后,没有及时释放连接资源,最后导致没有连接可用,这类问题可以分析Heapdump文件,找出没释放的SQL语句,然后修复相关代码。