php memcache长连接相关,奇怪的broken pipe

发布于 2022-09-13 00:20:28 字数 382 浏览 25 评论 0

我的环境是docker下跑的php-fpm,php版本5.6.40 memcache版本2.2.6,当addServer选择长连接参数时,通过netstat能获取到建立了2个tcp连接(fpm的pm.start_servers为2),此时没有问题。
奇怪的是,一段时间后,程序提示:image.png
netstat也找不到这两个连接了,我推测是这两个长连接因为某些原因关闭了,但memcache的addServer所用到的hash表并没有更新到,所以出现的错误,请问有人遇到过这个问题吗,是怎么解决的呢?

ps:通过persistent=fase这个设置参数,也就是关闭memcache的长连接,或重启fpm,这个问题会消失。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

迷雾森÷林ヴ 2022-09-20 00:20:28

本身网络链接都是不靠谱的,每次用之前必须要检查一次是否正在连接中,如果未连接就重连,你这个估计是触发了某些策略,比如30秒不请求数据,释放链接,这样可以清空链接资源。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文