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

資訊專欄INFORMATION COLUMN

Redis內(nèi)存告警處理

IT那活兒 / 3453人閱讀
Redis內(nèi)存告警處理

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

1

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

2

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

3

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

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

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

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

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

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

  • 內(nèi)存空間不均勻:集群架構(gòu)下某個數(shù)據(jù)分片的內(nèi)存使用率遠超其它數(shù)據(jù)分片,無法使數(shù)據(jù)分片的內(nèi)存資源達到均衡,不利于集群對內(nèi)存空間的統(tǒng)一管理;

  • 內(nèi)存空間資源緊張redis內(nèi)存不斷變大引發(fā)OOM,或達到maxmemory設(shè)置值引發(fā)寫阻塞或核心key被驅(qū)逐

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

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

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

因此不管對于redis的開發(fā)還是運維人員,bigkey就是一個不穩(wěn)定因素,時不時帶來穩(wěn)定性風(fēng)險,使用redis過程中都應(yīng)該經(jīng)常關(guān)注數(shù)據(jù)中是否有bigkey,及早發(fā)現(xiàn)并處理,避免對業(yè)務(wù)系統(tǒng)的進一步危害。

END



本文作者:崔京夢

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

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/129481.html

相關(guān)文章

  • 內(nèi)存 監(jiān)控告警 UMem Redis

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

    ernest.wang 評論0 收藏2041
  • 實例管理 云內(nèi)存 UMem Redis

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

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

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

    MingjunYang 評論0 收藏0
  • 『九個月實現(xiàn)破億用戶的可擴展架構(gòu)』學(xué)習(xí)筆記

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

    TesterHome 評論0 收藏0
  • vivo統(tǒng)一告警平臺設(shè)計與實踐

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

    Rocko 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

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