背景
现象1:当时线上出现了接口频繁超时的问题,通过排查当时机器dump文件并未查询到异常问题。
现象2:之后在线上发布项目部署之后一天内线上接口超时告警明显减少,在一天后告警再次频繁出现。
现象3:通知运维dump频繁接口超时的容器,之后进行容器重启,重启后对机器dump内存,具体文件分析如下
很明显,重启后内存中没有groovy相关的信息。定位了groovy相关的原因,是在数据库的字段里存储了groovy执行文件的字符串信息,项目读取数据库的这个字段进行功能执行,之后对这些groovy执行文件进行了迁移。千万不要搞一些骚操作,极有可能导致比较严重的问题,虽然接口超时的问题没有排查到,但是排查到了存在隐患的问题。