性能调优之十:一个项目的性能优化经验
1.由于SQL执行慢的原因,导致事务时间过长,数据连接池的连接不够用,很多处理线程在等待连接。
2.程序有部分使用了System.out.println()来打印日志信息,不能通过log4j的配置关闭,严重影响系统性能。
3.include.jsp每一次都会去数据库获取用户相关信息,导致每访问一个页面都会查一次数据库。
4.表的某个字段上创建索引,但是索引还是用不上。根据检查传入的绑定变量的值,应该是传入的数据类型是数字,而?该字段是?varchar2?类型,类型不一致,导致索引用不上。
5.HashMap导致很多线程被挂起,CPU占用率持续在99%左右,使用ConcurrentHashMap替换。
6.使用了synchronized,但该方法执行时间过长,会造成其他处理线程等待时间比较长而导致线程阻塞比较严重。
7.有一条SQL语句执行?98,240?次,这些数据是不变的,可以考虑使用缓存。
8.SQL语句执行很慢,可以考虑通过加索引来优化执行,
9.数据库共享池(share pool)?不够大。
10.log file sync等待时间也比较长。