php memcache长连接相关,奇怪的broken pipe
我的环境是docker下跑的php-fpm,php版本5.6.40 memcache版本2.2.6,当addServer选择长连接参数时,通过netstat能获取到建立了2个tcp连接(fpm的pm.start_servers为2),此时没有问题。
奇怪的是,一段时间后,程序提示:
netstat也找不到这两个连接了,我推测是这两个长连接因为某些原因关闭了,但memcache的addServer所用到的hash表并没有更新到,所以出现的错误,请问有人遇到过这个问题吗,是怎么解决的呢?
ps:通过persistent=fase这个设置参数,也就是关闭memcache的长连接,或重启fpm,这个问题会消失。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
本身网络链接都是不靠谱的,每次用之前必须要检查一次是否正在连接中,如果未连接就重连,你这个估计是触发了某些策略,比如30秒不请求数据,释放链接,这样可以清空链接资源。