使用PHP連接redis后,timeout連接太多的解決方案


    這個問題,大家在使用php redis之后肯定都會遇到。所以本菜本着虛心求教的原則,又在網上四處求教。得到的答案,無非是以下兩種:

1、redis沒有主動close。

    事后發現,這個答案純屬以訛傳訛,胡說八道。

 

2、配置/etc/sysctl.conf,更改如下配置:

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 20

    關於這個方案,雖然比較靠譜,但沒完全正中靶心。執行/sbin/sysctl -p之后,發現timewait狀態的連接沒有改善。

 

    經過一番查找,終於本菜終於找到了原因,解決方案的配置如下:

/etc/sysctl.conf

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_timestamps = 1

net.ipv4.tcp_fin_timeout = 20

配置完成之后,執行/sbin/sysctl -p,再次運行redis,問題解決。

 

資料參考:

http://www.2cto.com/net/201503/381132.html    服務器tcp連接timewait過多優化及詳細分析

 


免責聲明!

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



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