对于arpro这个项目。生产环境上布置了两套环境,一套A环境,一套B环境。
这样做的意义是如果线上A环境出现意料之外的问题(A环境大面积崩溃不可用,A环境服务器出现问题等等)我们能够立即切换B环境供用户进行使用。
A环境与B环境是完成一致的。
这一次arpro生产环境出现好几个重大的问题。


上面问题1—4都是偏向于生产发版的问题 ,问题5偏向于技术问题。
对于上面的五个问题,我们都需要清楚生产环境不是儿戏需要有足够的责任心。需要对生产环境有一份敬畏之心。
在明确生产环境有两套环境的价值和意义;生产环境的重要性的基础上。
流程制度上
上线流程示例:


一般的原因是代码中存在不合理的情况,导致创建出了大对象,对象一直存在着引用导致GC无法进行回收,随着时间这些无法被回收的对象越来越多导致内存逐渐上升。
对于这类问题需要具体分析可以通过打印jvm快照的方式生成dump文件,可以使用jdk1.8自带的内存分析工具Jvisual进行内存分析。寻找照成内存上升的原因。