身后的运维主管忍不住往前探了探身子,嘴巴微微张开。他见过杀连接的,没见过杀得这么干脆利落的。没有犹豫,没有试探,一条命令下去,两百个s1eep连接瞬间清掉。
“当前连接数降到11oo了。”
明灿说。
“继续。再杀一批。”
又一堆命令。屏幕上滚动的数字跳了跳,明灿的瞳孔微微缩了一下,她注意到一个细节,有些s1eep连接在被杀掉之后,很快又重新冒出来了。
“不对劲。”
明灿的声音压低了,但语变快了,“我杀完一批,新的s1eep连接马上又建起来了,像是有什么东西在不停地主动建连接,而且建完不关。”
屏幕那头安静了两秒。
苏执的声音再响起来的时候,带着一种明灿很少听到的、真正认真起来的语气:“这是有人在应用层写了死循环,不停地建连接,不停地泄漏。清连接治标不治本,必须找到那个罪魁祸的应用。”
明灿的手指在桌面上轻轻敲了两下,脑子在飞快地转。
她忽然转头,看向身后的运维主管:“最近有没有新上线的服务?或者说,今天凌晨到故障生这段时间,有没有重启过或者新部署过什么?”
这个问题问得太专业了,专业到运维主管有些听不懂,他下意识地看向赵归帆,赵归帆目光则掠过张佑。
张佑的脸色有些白。
“昨天晚上……张总监让上线了一个新的推荐服务。”
运维主管的声音不大,像是在艰难地挤出一个不太愿意说出来的事实,“说是为了促销活动准备的,要提前压测。上线之后没现什么问题,今天白天也正常,就是晚上流量一上来——”
“把这个服务停掉。”
苏执的声音从手机里传出来,干脆利落。
张佑的声音忽然从后面冒出来,带着一种努力维持的镇定:“这个推荐服务是我跟业务部门一起规划了两个月的重点项目,不能说停就停,而且代码都走完测试流程了,不可能是它的问题。”
“你确定它走完了完整的测试流程吗?”
苏执的声音不大,但每个字都很清楚,“测试环境有没有模拟过生产环境的流量峰值?连接池的配置是不是和生产环境一致?代码里有没有处理连接释放的异常分支?”
三个问题,一个比一个尖锐。
张佑的嘴唇动了动,什么声音都没出来。
明灿没有等他的回答。她已经在苏执的指导下锁定了那个新服务的进程Id,然后敲下了停止命令。
屏幕上,那些刚刚还在不断冒出来的新连接,像是被掐断了水源的溪流,一点一点地枯竭下去。
明灿盯着连接数的数字跳了最后一下——停在了217。
没有再涨。
她等了一分钟,两分钟,五分钟。连接数的数字像是被钉在了那里,纹丝不动。
“可以了。”
明灿说,声音里有压不住的兴奋,但她忍住了,没有在这么多人面前表现出来,只是嘴角微微翘了那么一下。
“把连接池的时时间调回5ooo毫秒,最大连接数降到3oo。”
苏执的声音恢复了那种让人安心的平稳,“然后重启连接池。”