只在周五炸的 bug:查两周,凶手是忘了下线的僵尸
阅阅界编辑部5阅读2分钟
周五下午炸,周一自愈,五十次错一次,全是 500。连接池满,连接全闲着,流量没涨,见鬼。作者查了两周,三猜全错,凶手在监控之外。这篇在海外拿下几十赞,评论区:僵尸,熟人啊。
一、三猜咋错的。猜一慢查:状态表一查,全闲,无锁,无堵,错。猜二自家漏:新报表接口逐行审,用完释放全有,预发压一小时,开合全对,错。猜三外部活:定时任务全翻,统计导出有嫌疑,可人家用独立账号,闲连接全是自家的,错。错完开始怀疑命:这 bug,莫不是看上我了。
二、凶手现形。两实例各二十池,共四十,库上限一百,咋满九十四。第三个实例:几个月前灰度实验的,没流量,不进监控,没下线。开机占二十,还附赠 bug:健康检查每次新开连接,不复用,重启才清。而伸缩策略每周五回收闲实例,周一清空,完美闭环:周五攒,周一清,查无对证。下线僵尸五分钟,两周谜案破。峰值九十四变十二,500 永别。
三、抄作业。三招:查状态表按归属分组,别只看总数,闲的也得问姓啥;问还有谁在跑,别只看请求链,码外的 infra 全算;周期是线索不是装饰,周五炸就查周活,周一好就查回收。今天去数你家实例,数完对账,对不上,僵尸就在那。bug 不在你看的地方,在你不看的地方,不看的,才贵。四、最后三招常备:状态表按归属分组,闲的也问姓;还有谁在跑,码外的全算;周期是线索,周五炸查周活。今天数实例,对账,对不上,僵尸就在那。僵尸不除,周五还炸。除完了,记得写下来,写进值班手册,传给下一个人。下一个人不踩,才是真除。
来源|海外开发者社区,https://dev.to/devstackhub/the-bug-that-only-happened-on-fridays-38a7
评论(0)
暂无评论,来抢第一条。