项目背景
项目的架构是传统的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优化的文章