天天看點

性能優化的一些經驗與教訓

1:不用Log4j1的日志,因為往日志檔案寫日志時,會争搶鎖,導緻線程阻塞,使用Log4j2,而且要使用它的異步方式;

2:基于記憶體的服務,一般使用Map來儲存資料,這樣更新資料時,如果是大批量更新的話,最好不要采用對象完全替換的方式,因為這樣的話,老對象就程式設計了垃圾,會導緻對老年代的回收,産生Full GC,最好是隻更新變化了的字段資訊,這樣新對象在young gc 就會被回收,而不會産生full gc;

3:當資料更新不頻繁時,可以使用LocalCache + Redis的方式來提高吞吐量和減少響應時間;

4:要經常注意系統的GC名額,如youngc的頻率和時間,fullgc的頻率和時間等;

繼續閱讀