可能的原因:
1.連接資源使用完閑置沒有釋放,導致占用
解決命令:CONFIG SET timeout 30
對於閑置鏈接超過30秒的進行釋放
2.最大連接數不夠
解決命令:config set maxclients 10000
設置最大連接數為10000(默認值),根據需要設置自己的值
排查步驟:
查看已連接數:info clients
查看配置的最大連接數:config get maxclients
查看連接數明細
每個字段含義:
addr:客戶端的地址和端口
fd:套接字所使用的文件描述符
idle:以秒計算的空閑時長
flags:客戶端 flag
db:該客戶端正在使用的數據庫 ID
sub:已訂閱頻道的數量
psub:已訂閱模式的數量
multi:在事務中被執行的命令數量
qbuf:查詢緩沖區的長度(字節為單位, 0 表示沒有分配查詢緩沖區)
qbuf-free:查詢緩沖區剩余空間的長度(字節為單位, 0 表示沒有剩余空間)
obl:輸出緩沖區的長度(字節為單位, 0 表示沒有分配輸出緩沖區)
oll:輸出列表包含的對象數量(當輸出緩沖區沒有剩余空間時,命令回復會以字符串對象的形式被入隊到這個隊列里)
omem:輸出緩沖區和輸出列表占用的內存總量
events:文件描述符事件
cmd:最近一次執行的命令