概述
Redis實例(li)作為更靠近應(ying)(ying)用(yong)服(fu)務(wu)的(de)(de)數(shu)據層,通(tong)常(chang)會執(zhi)行較多的(de)(de)數(shu)據存取并消耗(hao)網絡帶寬。不(bu)同(tong)的(de)(de)實例(li)規格(ge)對應(ying)(ying)的(de)(de)最(zui)大帶寬有(you)所(suo)不(bu)同(tong),當超過該(gai)規格(ge)的(de)(de)最(zui)大帶寬時(shi),將(jiang)對應(ying)(ying)用(yong)服(fu)務(wu)的(de)(de)數(shu)據訪問(wen)性能造(zao)成影響。本節講述如(ru)何(he)排查Redis實例(li)帶寬使用(yong)率(lv)高的(de)(de)問(wen)題。
操作步驟
步驟 1 查詢(xun)帶(dai)寬使用率。
查詢實例在指定時段的帶寬使用率。具體操作請參見查看監控指標。
通常來說,“網絡(luo)瞬(shun)(shun)時輸(shu)入流量”和“網絡(luo)瞬(shun)(shun)時輸(shu)出流量”快(kuai)速上升,并持續大于實例(li)最(zui)大帶寬的80%時,需引起注意,可能流量不(bu)足。
需(xu)關注的監(jian)控指(zhi)標為帶(dai)(dai)寬使用率(lv)如(ru)下圖。帶(dai)(dai)寬使用率(lv)的計算公式(shi):帶(dai)(dai)寬使用率(lv)=(網絡瞬時輸入(ru)流(liu)量(liang)+網絡瞬時輸出流(liu)量(liang))/(2*最(zui)大(da)帶(dai)(dai)寬限(xian)制) * 100%。
帶寬使用率示例


其中,帶寬使(shi)用(yong)率(lv)超過100%,不(bu)一定導致限流,有沒(mei)有被流控(kong)需要看(kan)流控(kong)次數指標。
帶(dai)寬(kuan)使用(yong)率沒有超過100%,也有可能有限(xian)流,因為(wei)帶(dai)寬(kuan)使用(yong)率是(shi)上報周期(qi)實時(shi)值(zhi),一(yi)個上報周期(qi)檢查(cha)一(yi)次。流控檢查(cha)是(shi)秒(miao)(miao)級的,有可能存(cun)在(zai)上報周期(qi)間隔期(qi)間,流量有秒(miao)(miao)級沖高,然后(hou)回落,待上報帶(dai)寬(kuan)使用(yong)率指標時(shi)已恢復正常。
步驟 2 優化帶寬(kuan)使(shi)用率。
- 當業務的訪問量與預期帶寬消耗不匹配,例如帶寬使用率的增長趨勢和QPS的增長趨勢明顯不一致(可結合網絡瞬時輸入流量和網絡瞬時輸出流量,分析業務是讀業務和還是寫業務導致的流量上漲)。對于單個節點帶寬使用率上漲,您可以通過緩存分析功能,發現實例中存在的大Key,具體操作請參見緩存分析。對大Key(通常大于10 KB)進行優化,例如將大Key拆分、減少對大Key的訪問、刪除不必要的大Key等。
- 經過上述步驟優化后流量使用率依舊較高,可評估升級至更大內存的規格,以承載更大的網絡流量。具體操作請參見變更實例規格。
說明在正(zheng)式升級(ji)實例(li)的規(gui)格前(qian),您(nin)可(ke)以先創建一個實例(li),測試要升級(ji)到的目標規(gui)格是否能(neng)夠滿足(zu)業務的負載需求,測試完成后可(ke)將其釋放(fang)。釋放(fang)實例(li)請參考刪除實例。