天天看点

性能优化的一些经验与教训

1:不用Log4j1的日志,因为往日志文件写日志时,会争抢锁,导致线程阻塞,使用Log4j2,而且要使用它的异步方式;

2:基于内存的服务,一般使用Map来保存数据,这样更新数据时,如果是大批量更新的话,最好不要采用对象完全替换的方式,因为这样的话,老对象就编程了垃圾,会导致对老年代的回收,产生Full GC,最好是只更新变化了的字段信息,这样新对象在young gc 就会被回收,而不会产生full gc;

3:当数据更新不频繁时,可以使用LocalCache + Redis的方式来提高吞吐量和减少响应时间;

4:要经常注意系统的GC指标,如youngc的频率和时间,fullgc的频率和时间等;

继续阅读