# 转信创后JVM配置过低导致系统卡顿
# 背景
刚给客户做升级转信创,投产第一天上午客户频繁出现:掉线、登录不进系统、系统内用户刷新待办打开页面非常慢的问题,几乎等同于不可用。
# 分析过程
登录系统管理员-系统监控,查看系统状态:
- 在线人数2000人,JVM内存仅申请了8G
- JVM堆内存实时占用接近100%
从监控就能看出:内存被占满,导致系统频繁GC卡顿。 根据在线人数推算内存配置不合理:2000在线的内存至少要申请30G!
再到信创中间件下检查配置,确实是8G,配置过低:
随后改成32G重启系统,问题即刻解决:
# 扩展分析
了解到项目上未使用系统环境扫描工具做环境检查,督促使用环境扫描工具还发现了别的问题:
还有几个关键动作需要优化:
1、JVM垃圾回收器需要使用G1GC回收模式,参考部署手册配置即可,如果使用别的垃圾回收器,即使内存很高,也可能出现莫名卡顿(不同垃圾回收器的回收策略不一样)
2、因为是2000人在线,如果用户使用系统非常频繁,信创环境推荐给64G内存,避免出现峰值压力。当然项目上,也可以观察内存使用情况来做权衡
3、HTTP线程数也有一定优化空间:最小100能保障创建足够的初始线程,避免反复创建。
4、数据库索引补充非常关键:缺失索引极易容易引起系统内某个功能使用缓慢。
项目上按照处理意见修订后,系统已经趋于稳定。
创建人:het
修改人:het