如何查看Redis實例的實時并發連接數和最大連接數
查看Redis實例實時并發連接數
當您需要查看DCS實例收到的實時連接數時,可以通過控制臺查看,查看方法,請參考查看監控指標。
進入監控頁面后,找到“ 活躍的客戶端數量 ”監控項。您可以單擊該監控項的右上角的查看按鈕
,使(shi)用(yong)大(da)圖模式查看(kan)。
在彈(dan)出(chu)的“活(huo)躍的客戶端(duan)數(shu)(shu)量”頁面,根據(ju)需要選擇查(cha)看(kan)的時間段,例如,若要查(cha)看(kan)10分鐘內的連(lian)接(jie)數(shu)(shu),您可以將時間自定(ding)義(yi)為10分鐘。由于監控(kong)數(shu)(shu)據(ju)采(cai)集的是周期內增加的連(lian)接(jie)數(shu)(shu),您可以通過監控(kong)圖(tu)表,查(cha)看(kan)這個時間段的連(lian)接(jie)數(shu)(shu)的走勢(shi),并統計(ji)10分鐘內的連(lian)接(jie)總數(shu)(shu)。
另外,您(nin)還可以通(tong)過以上操作方法查(cha)(cha)看其它(ta)常用監控數(shu)據,查(cha)(cha)看您(nin)的實(shi)例運行(xing)情況。
- CPU利用率
- 內存利用率
- 已用內存
- 每秒并發操作數
查看或修改實例最大連接數
您可以(yi)在控(kong)制臺(tai)創建實(shi)例頁面查看實(shi)例默(mo)認(ren)及最(zui)大可配(pei)的最(zui)大連接數。
創建實例后,您也可以通過DCS控制臺“實例配置 > 參數配置”頁面,查看或修改maxclients參數(shu)值,即(ji)最大(da)連接數(shu)。(Proxy集群(qun)實例不(bu)支持修改該參數(shu))
Redis命令是否支持審計?
Redis是(shi)高性(xing)能(neng)讀(du)寫(xie),不支(zhi)持命(ming)令審(shen)計,如果命(ming)令支(zhi)持審(shen)計,性(xing)能(neng)會(hui)受(shou)到很(hen)大的影響,所(suo)以命(ming)令打印(yin)不出來(lai)。
Redis監控數據異常處理方法
當對Redis監控數據存在疑問或異議時,可以使用Redis-cli訪問Redis實例,執行info all命令,查(cha)看進(jin)程記(ji)錄的指標(biao)。info all輸出詳解可參考:。
監控數據出現實例已使用內存略大于實例可使用內存是什么原因?
DCS單機(ji)和主備實(shi)例(li)已(yi)使用內存為redis-server進程(cheng)統計的已(yi)使用內存。集群是基于分片機(ji)制實(shi)現的,集群的已(yi)使用內存為各個分片redis-server的已(yi)使用內存的總和。
由(you)于(yu)開(kai)源redis-server內(nei)部機(ji)制的原因,有時(shi)會出現DCS緩(huan)存(cun)實例已使(shi)用內(nei)存(cun)略大(da)于(yu)可(ke)使(shi)用內(nei)存(cun)的情況,此為正常現象。
Redis的used_memory超過max_memory的原因
Redis通過(guo)zmalloc分(fen)配內存,不會(hui)在(zai)每一次分(fen)配內存時都檢(jian)查是(shi)否會(hui)超過(guo)max_memory,而是(shi)在(zai)周期任(ren)務以及命令處(chu)理的開(kai)頭處(chu)等地方,判斷(duan)一次當前的used_memory是(shi)否超過(guo)max_memory,如果(guo)超過(guo)就觸發(fa)逐出操作(zuo)。所以,對于(yu)max_memory策略的限制實施并不是(shi)實時、剛(gang)性的,會(hui)出現某個時間used_memory大于(yu)max_memory的情(qing)形(xing)。
為什么帶寬使用率指標會超過100%
帶(dai)寬使用率基本(ben)信(xin)息(xi)如(ru)下(xia):
| 指標ID | 指標名稱 | 含義 | 取值范圍 | 測量對象&維度 | 監控周期(原始指標) |
|---|---|---|---|---|---|
| bandwidth_usage | 帶寬使用率 | 當前流量帶寬與最大帶寬限制的百分比 | 0-200% | 測量對象:Redis 4.0/5.0主備實例數據節點Redis 4.0/5.0 Cluster集群實例數據節點測量維度:dcs_cluster_node | 1分鐘 |
其中帶寬使用率的計算公式為,帶寬使用率=(網絡瞬時輸入流量+網絡瞬時輸出流量)/(2最大帶寬限制) 100%
從計(ji)算公式可知,同時計(ji)算了網(wang)絡(luo)瞬(shun)時輸入流(liu)量(liang)和(he)網(wang)絡(luo)瞬(shun)時輸出流(liu)量(liang),這兩個指標值是(shi)有統(tong)計(ji)主從同步的(de)流(liu)量(liang)的(de)。所以統(tong)計(ji)的(de)總流(liu)量(liang)使用量(liang)會(hui)比正(zheng)常的(de)業務流(liu)量(liang)大一(yi)些。
判斷當前是否被限流,請使用流控次數這個指標,這個指標值大(da)于0時(shi),表示當前已經被使用帶寬(kuan)超過最大(da)限制(zhi)被流控。
限流(liu)時,流(liu)控(kong)(kong)次(ci)數(shu)指標是(shi)不統計(ji)主從同步流(liu)量的(de),所(suo)以有時候會(hui)出現帶(dai)寬使用率指標超過100%,但流(liu)控(kong)(kong)次(ci)數(shu)為0的(de)情(qing)況。
監控指標中存在已拒絕連接數是什么原因?
當監(jian)控指標(biao)中出現(xian)已(yi)拒(ju)絕連接(jie)數(shu)時,請確(que)認客戶端連接(jie)數(shu)是(shi)否已(yi)經超過(guo)實例(li)的最大(da)連接(jie)數(shu)限制,實例(li)最大(da)連接(jie)數(shu)可(ke)以查看參數(shu)maxclients。
- 查看最大連接數:單擊實例名稱,進入實例詳情頁面,選擇“配置參數”頁簽,查看maxclients參數的值。(Proxy集群實例不支持maxclients參數,最大連接數請參考控制臺實例創建頁面中的實例規格。)
- 查看實際連接數:單擊實例名稱,進入實例詳情頁面,選擇“性能監控”頁簽,找到“活躍的客戶端數量”監控項查看。
如(ru)(ru)果客戶端(duan)連接(jie)數已到達連接(jie)上(shang)限,可以根據需(xu)要(yao)調整maxclients參數,如(ru)(ru)果maxclients參數已經是(shi)最大可配連接(jie)數,仍不滿足(zu)需(xu)求(qiu),則需(xu)要(yao)升級規格。
觸發限流(流控)的原因和處理建議
Redis產(chan)生流控,說明redis在周期內(nei)的使(shi)用流量超過(guo)該實例(li)規格的最大帶寬。
說明
帶(dai)寬(kuan)(kuan)使(shi)(shi)用率不高時,也有(you)(you)(you)可能有(you)(you)(you)限流,因為帶(dai)寬(kuan)(kuan)使(shi)(shi)用率是(shi)上(shang)(shang)(shang)報周(zhou)期(qi)實時值,一個(ge)上(shang)(shang)(shang)報周(zhou)期(qi)檢查一次。而流控檢查是(shi)秒(miao)級的,有(you)(you)(you)可能存在上(shang)(shang)(shang)報周(zhou)期(qi)間隔期(qi)間,流量有(you)(you)(you)秒(miao)級沖高,然后回(hui)落,待上(shang)(shang)(shang)報帶(dai)寬(kuan)(kuan)使(shi)(shi)用率指標時已恢復正(zheng)常。
對于主備實例:
- 如果實例一直有流控但是帶寬使用率不高,這說明可能存在業務微突發問題,或者大Key熱Key問題,建議對實例進行自動診斷分析,優先排除大Key熱Key問題。
- 如果帶寬使用率居高不下,說明帶寬可能存在超限風險,需要擴容處理(容量越大,帶寬越大)。
對于集群實例:
- 僅有單個或少量幾個分片出現流控,則多數為該分片存在大Key熱Key問題。
- 所有或大多數分片同時出現流控或者帶寬使用率高的問題,這說明實例的帶寬達到了瓶頸,建議擴容實例。
說明
DCS控制臺提供了大Key和熱Key的分析功能,你可參考緩存分析減少大(da)key和熱(re)key。
如果用戶(hu)執(zhi)行了keys等消(xiao)耗資源的命令,也可能(neng)會導致CPU和帶寬使用率增加,從而出(chu)現(xian)流控。