只在週五炸的 bug:查兩週,兇手是忘了下線的殭屍
閱閱界編輯部4閱讀2分鐘
週五下午炸,週一自愈,五十次錯一次,全是 500。連接池滿,連接全閒着,流量沒漲,見鬼。作者查了兩週,三猜全錯,兇手在監控之外。這篇在海外拿下幾十贊,評論區:殭屍,熟人啊。
一、三猜咋錯的。猜一慢查:狀態表一查,全閒,無鎖,無堵,錯。猜二自家漏:新報表接口逐行審,用完釋放全有,預發壓一小時,開合全對,錯。猜三外部活:定時任務全翻,統計導出有嫌疑,可人家用獨立賬號,閒連接全是自家的,錯。錯完開始懷疑命:這 bug,莫不是看上我了。
二、兇手現形。兩實例各二十池,共四十,庫上限一百,咋滿九十四。第三個實例:幾個月前灰度實驗的,沒流量,不進監控,沒下線。開機佔二十,還附贈 bug:健康檢查每次新開連接,不復用,重啓才清。而伸縮策略每週五回收閒實例,週一清空,完美閉環:週五攢,週一清,查無對證。下線殭屍五分鐘,兩週謎案破。峯值九十四變十二,500 永別。
三、抄作業。三招:查狀態表按歸屬分組,別隻看總數,閒的也得問姓啥;問還有誰在跑,別隻看請求鏈,碼外的 infra 全算;週期是線索不是裝飾,週五炸就查周活,週一好就查回收。今天去數你家實例,數完對賬,對不上,殭屍就在那。bug 不在你看的地方,在你不看的地方,不看的,才貴。四、最後三招常備:狀態表按歸屬分組,閒的也問姓;還有誰在跑,碼外的全算;週期是線索,週五炸查周活。今天數實例,對賬,對不上,殭屍就在那。殭屍不除,週五還炸。除完了,記得寫下來,寫進值班手冊,傳給下一個人。下一個人不踩,纔是真除。
來源|海外開發者社區,https://dev.to/devstackhub/the-bug-that-only-happened-on-fridays-38a7
評論(0)
暫無評論,來搶第一條。