(線上系列問題十五)線上Redis連接數(shù)達到最大問題
這是一個Redis測試環(huán)境掛了, Redis Client連不上,看了一眼日志, 連接數(shù)過多然后把Redis配置里連接數(shù)上限增加,暫時可以用了,但不一會又出現(xiàn)了如下的日志。

查看了一下Redis連接數(shù)上限就是10000, 我們的服務(wù)總共才幾十個, 說明一定有人沒關(guān)連接, 于是開始排查.
第一步重啟并搶先占一個連接
重啟了Redis后, 立即連接到Redis, 查看客戶端數(shù)量:

info命令能查看關(guān)于 Redis 服務(wù)器的各種信息和統(tǒng)計數(shù)值.
第二步記錄全部客戶端
連接幾分鐘后再次查看,此時,?連接已經(jīng)被全部占滿了.

client.?list,查所有的連接的客戶端,為后面統(tǒng)計。


第三步找出異常IP
使用Linux命令輸出連接數(shù)前五的IP:

到目前為止, 鎖定了172.18.0.50和172.18.0.104兩個IP.?
至此, 定位到了問題IP和程序,然后通知這兩個IP的程序大哥哥就行了。
BTW:當(dāng)然這兒就是另外一個問題,就是程序一般要用連接池,這樣就不會讓數(shù)據(jù)庫連接數(shù)超出,這樣就可以重復(fù)利用連接和回收空閑連接,同時設(shè)置連接檢測避免無效連接無法回收。
評論
圖片
表情
