1. 程式人生 > >MVC架構下的電商系統頻繁出現 java.lang.OutOfMemoryError: PermGen space

MVC架構下的電商系統頻繁出現 java.lang.OutOfMemoryError: PermGen space

專案背景

專案的架構是傳統的MVC+weblogical+Oracle+Redis實現的電商系統,系統主要分為人員管理模組,活動模組,訂單管理模組,使用了8臺伺服器叢集,日活30萬,註冊達到1000萬左右,併發量在高峰時期會達到1000左右,目前往springboot分模組轉架構

目前存在問題

系統使用的是weblog作為伺服器,配置繁瑣,容易出現錯誤,比如,遇到配置檔案替換主機名的時候,如果少配置了context.xml或者其他的配置檔案就出異常,而且通過日誌檔案不容易定位問題。而且專案使用的MVC,不容易處理高併發的業務場景,比如雙十一就出現了整體的down機情況,需要重啟系統,載入的類太多,導致專案頻繁的出現永久區異常,通過修改了配置,設定永久區的值為1024M(之前是256M,頻繁的OOM)。

目標

架構改成springboot分模組的處理複雜的業務,使得記憶體按需分配,啟動專案互相不干擾,敏捷的開發,迴圈迭代提交程式碼。

修改了永久區的最大記憶體設定-XX PermGen=1024M之後正常的執行

2018-12-26 13:34:00|[DEBUG]|[pool-7-thread-1]|java.sql.PreparedStatement.debug[L27]: {pstm-101322} Parameters: []
2018-12-26 13:34:00|[DEBUG]|[pool-7-thread-1]|java.sql.PreparedStatement.debug[L27]: {pstm-101322} Types: []
2018-12-26 13:34:00|[DEBUG]|[pool-7-thread-1]|java.sql.Connection.debug[L27]: {conn-101324} Connection

這裡附上一篇JVM優化的文章