tft每日頭條

 > 生活

 > redis 連接數過大

redis 連接數過大

生活 更新时间:2024-12-04 23:09:19

redis 連接數過大?故障描述:redis服務器連不上,應用程序報錯獲取不到連接,内存勾兌和狀态報告程序都會出問題,接下來我們就來聊聊關于redis 連接數過大?以下内容大家不妨參考一二希望能幫到您!

redis 連接數過大(如何處理redis連接數)1

redis 連接數過大

故障描述:

redis服務器連不上,應用程序報錯獲取不到連接,内存勾兌和狀态報告程序都會出問題

故障分析:

redis服務器默認設置的最大連接數maxclients是10000,但是受服務器最大文件數影響,服務器默認最大文件數是1024,所以redis最大連接也為1024-32=992,由于網絡原因或連接未正常關閉導緻redis服務器連接數接近990左右,應用程序連不上redis。

故障處理:

修改服務器最大文件數vi /etc/ scurity/ limits.conf 添加* soft nofile 65536 * hard nofile 65536設置最大文件數65536,内核參數對文件描述符也有限制,如果設置的值大于内核的限制,也是不行的,需設置vi /etc/sysctl.conf fs.file-max=65535,sysctl -p生效,設置好用ulimit -a 可以看到open files為65535,但是用cat proc/pid/ limits查看redis的進程對應的max open files依然為992,原因是centos6.2版本以下,已經運行的進程是無法修改limits的,但是centos6.2以上可以通過echo -n ‘Max open files=65535:65535’ > /proc/pid/ limits命令,動态設置redis進程的最大連接數;正常情況下已經關閉客戶端但沒釋放的ESTABLISHED off連接是清理不掉的,隻能殺掉對應redis端口,數據會丢失,但是redis有封裝好的方法CLIENT命令,能夠實現三種功能:檢查連接的狀态,殺掉某個連接以及為連接設置名字三種功能,CLIENT LIST 命令能夠獲取當前所有客戶端的狀态,CLIENT KILL 命令來殺死指定的連接了,所以可以通過CLIENT KILL來殺掉沒用但無法釋放的tcp連接,處理掉redis連接數過多無法連接的問題。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved