Redis 內存持續飆高,小心監控命令monitor 惹的禍

                                             記一次因redis發生的一次線上事故

備註:我們使用的Redis是雲廠商的Redis主備服務

現象:線上Redis 內存持續升高,導致監控告警

 

處理步驟:

  1.    看到redis內存告警,業務操作Redis不斷報錯,第一印象就是業務量不斷增長,使用redis場景越來越多,購買的redis內存不夠了(一開始我們購買的是4G),所以第一操作就是擴大redis內存,當時我們直接擴大到了16G。 擴大到16G後,業務操作redis錯誤逐漸恢復,但是內存還是持續增高,過了半個小時錯誤又重新上演
  2.    眼睜睜看着redis內存持續飆高,擴大內存是沒用了,團隊的人都在發慌了,緊張中又開始了繼續的定位,當時懷疑是代碼的bug,死循環操作redis, 開始使用Redis的操作監控命令打印redis操作日誌,找到了操作最頻繁的命令。開始把操作最頻繁的命令的服務停掉,但是還是無濟於事,應用繼續報錯。。。。。。。。。
  3.   實在不行開始求救,我們找了雲廠商,雲廠商技術定位一段時間後發現無異常操作,也沒有異常流量。當時很無語
  4.   眼睜睜看着業務全部受影響,當時決定redis緩存全部清空重建,清理了一段時間後發現剛清理又增長上來了,最後只能redis重建,重建後一切正常,前前後後花了三四個小時。
  5.   恢復了不能到此結束啊,還是要繼續定位知道坑在哪裏啊 ?所以還是繼續找,實在看不出代碼漏洞,就去度娘了一下,有困難找百度,果然找到了美團發的一篇帖子,同樣的現象。  Monitor 命令惹的禍。
  6. 究竟咋回事呢?看看美團發的帖子,真的是大坑啊

  

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章