国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Redis內存告警處理

IT那活兒 / 3463人閱讀
Redis內存告警處理

點擊上方“IT那活兒”公眾號,關注后了解更多內容,不管IT什么活兒,干就完了!! 

1

關于Redis的bigkey,阿里Redis開發規范中有說明:拒絕bigkey,防止網卡流量、慢查詢,string類型控制在10KB之內,hash、list、set、zset元素個數不要超過5000。
今天我們來看一個反例,一個異常情況下包含千萬數量級個元素的list。

2

某時某分某值班人員收到告警傳報,指向某業務redis實例內存使用量告警。
登錄智慧運維管理平臺,查看該redis實例使用內存情況,使用內存9.95GB超過閾值。
查看該redis實例使用內存基線數據,正常范圍在0.67—2.77GB之間,遠低于當前內存使用量9.95GB。
登錄redis主機,檢查bigkey返回結果,命令如下:
redis-cli -h  -p  --bigkeys
主要檢查summary部分的信息,發現該實例一共有3864814個key,其中list類型有1個key,該key有23322701個元素。
反饋開發商確認該list為重復投遞產生的垃圾數據,申請授權臨時UNLINK刪除處理后恢復正常,目前已更新應用程序版本,控制該list元素數量避免bigkey以徹底解決。

3

到這里展示了一個bigkey從發現到處理的案例,接下來我們來看看bigkey到底能給redis帶來什么危害。
bigkey顧名思義就是value占用內存空間大或者元素多的key。
3.1 在Redis中存在兩種類型,字符串類型最大512MB,非字符串類型(例如bash、list、set、zset等)可以存儲大約40億(2^32-1)個元素,但實際上如果滿足下面任一情況都可以認為是bigkey:
  • 字符串類型,一般認為單個key的value值長度超過10KB就是bigkey;

  • 非字符串/集合類型,單個key的元素個數超過5000就是bigkey;

上述的定義并不絕對,主要是根據自己的業務場景調整具體的標準。
3.2 bigkey在redis中存在諸多隱患,有如下幾點:
  • 超時阻塞:因為Redis單線程執行命令的特性,操作bigkey等耗時的操作,都可能阻塞Redis其他業務操作,造成慢查詢等性能問題;

  • 網絡擁塞:讀取bigkey意味著需要消耗更多的網絡流量占用更多的網絡帶寬,可能造成網絡擁塞,自身變慢的同時影響到其他業務性能;

  • 過期刪除:bigkey相關的刪除或自動過期時在低版本中容易產生阻塞,主庫較長時間的阻塞可能引發主備同步中斷或主備切換;

  • 遷移困難:bigkey遷移可能會失敗而且容易阻塞redis;

  • 內存空間不均勻:集群架構下某個數據分片的內存使用率遠超其它數據分片,無法使數據分片的內存資源達到均衡,不利于集群對內存空間的統一管理;

  • 內存空間資源緊張redis內存不斷變大引發OOM,或達到maxmemory設置值引發寫阻塞或核心key被驅逐

3.3 如何發現redis中的bigkey,有以下幾種方法:
  • redis-cli自帶的命令,redis-cli -h -p --bigkeys,該命令以遍歷的方式分析redis實例中的所有key,并返回整體統計信息和每鐘數據類型中最大的key,并不能找出整個redis中所有的大key;

  • 通過redis-rdb-tools工具包中的rdb工具分析redis的dump.rdb文件生成csv文件再導入到mysql、Oracle等數據庫中進行統計分析,該工具是離線分析rdb持久化文件對性能無影響;

  • 某些公有云的可視化頁面分析工具,如阿里云redis大key搜索工具等。

因此不管對于redis的開發還是運維人員,bigkey就是一個不穩定因素,時不時帶來穩定性風險,使用redis過程中都應該經常關注數據中是否有bigkey,及早發現并處理,避免對業務系統的進一步危害。

END



本文作者:崔京夢

本文來源:IT那活兒(上海新炬王翦團隊)

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/129481.html

相關文章

  • 內存 監控告警 UMem Redis

    摘要:監控告警控制臺監控告警管理云內存為用戶提供多種類型的監控,包括如使用量連接數數量等多種監控,并可設置監控告警。云內存提供默認告警模板的同時,資源監控模板界面支持用戶創建告警模板并自定義設置告警監控項。監控告警控制臺監控告警管理云內存Redis為用戶提供多種類型的監控,包括如使用量、連接數、QPS、 Key數量等多種監控,并可設置監控告警。云內存Redis提供默認告警模板的同時,資源監控模板界...

    ernest.wang 評論0 收藏2041
  • 實例管理 云內存 UMem Redis

    摘要:實例管理實例管理實例管理新建實例完成后,可以在控制臺上管理實例,如擴容續費及監控告警等實例管理操作。對于縮容,整個過程中對無任何影響。運維時間運維時間主備產品提供運維時間窗口設置,用戶可以根據自身業務選擇時間段來做重寫。 實例管理新建實例完成后,可以在控制臺上管理Redis實例,如:擴容、續費及監控告警等實例管理操作。主備版Redis控制臺支持創建從庫、配置升降級、設置密碼、重啟、慢查詢分析...

    ernest.wang 評論0 收藏723
  • AIOps在攜程的踐行

    摘要:隨著人工智能時代的到來,攜程生產環境運維進入了新的運維時代。本文選取了幾種典型的運維場景對在攜程的踐行展開了介紹,首先讓我們從概念認識下。針對應用異常指標檢測這種場景,抽取一定的樣本統計,在基于專家經驗標注下的準確率可達到以上,召回率接近。 作者簡介徐新龍,攜程技術保障中心應用管理團隊高級工程師,負責多個AIOps項目的設計與研發。信號處理專業碩士畢業,對人工智能、機器學習、神經網絡及數學有...

    MingjunYang 評論0 收藏0
  • 『九個月實現破億用戶的可擴展架構』學習筆記

    摘要:五技術棧整個看下來會發現美拍的架構做的非常的穩,小軍也有提到,在項目初期高速發展階段做架構時要克服對完美架構的欲望克服對新技術的欲望,先讓系統跑起來。 昨晚把美拍架構負責人洪小軍在Qcon上的『九個月實現破億用戶的可擴展架構』分享看了一遍(其實那場QCon我也在現場,但是當時小軍這個會場實在太多人了,而且當時北京還沒開空調又熱又悶,所以我就挑了個涼快的會場去聽了哈哈),感覺有不少值得學...

    TesterHome 評論0 收藏0
  • vivo統一告警平臺設計與實踐

    摘要:告警當一個問題通過告警系統將消息以短信電話郵件等方式告知給用戶時,我們稱之為一條告警。圖統一告警系統結構圖告警收斂對于告警平臺每天會產生數以萬計的告警,這些告警對于運維或開發人員都需要去分析甄別優先級并處理故障。 一、背景一套監控系統檢測和告警是密不可分的,檢測用來發現異常,告警用來將問題信息發送給相應的人。v...

    Rocko 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<