Redis連接的客戶端(connected_clients)數過高或者不減的問題解決方案


最近的項目上使用ServiceStack.Redis上了redis緩存,其中遇到了很多問題。。 比如說 某一天發現redis做的緩存竟然失效了,然后查了下日志  報錯max number of clients reached, sPort: 0, LastCommand:   。。首先考慮的是是不是項目中redis使用完后沒有dispose..結果查了半天沒發現有哪里忘記dispose。。 之后覺得是redis服務端可能出了問題 重啟了下,過了段時間查看redis狀態  info指令。。


可以看到connected_clients很高 。。多次監控后發現雖然有下降 但是還是在4000以上。

之后在用client list 指令 查看客戶端連接情況


其中idle(以秒計算的空閑時長)竟然這么長時間。。很多空閑連接都沒有被及時釋放掉從而導致connected_clients非常高

查看redis的配置timeout (當客戶端閑置多長時間后關閉連接,如果指定為0,表示關閉該功能)


然后設置timeout


再次查看connected_clients


瞬間就降下來了。。 至此問題解決!

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM