加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php中Memcached连接超时问题解决方法

发布时间:2022-01-18 18:05:24 所属栏目:PHP教程 来源:互联网
导读:今天起看发现服务器的nginx产生大量日志了,并且提示PHP Warning: Memcache::connect(): Can/t connect to 127.0.0.1:11211, Connection timed out (110) in,后来几经周折找出问题所在了。 在一次例行检查日志的时候,发现Nginx日志中出现了大量的PHP连接
  今天起看发现服务器的nginx产生大量日志了,并且提示PHP Warning: Memcache::connect(): Can/'t connect to 127.0.0.1:11211, Connection timed out (110) in,后来几经周折找出问题所在了。
 
  在一次例行检查日志的时候,发现Nginx日志中出现了大量的PHP连接Memcached超时的报错信息,如下:PHP Warning: Memcache::connect(): Can't connect to 127.0.0.1:11211, Connection timed out (110) in ...
 
  连上服务器检查Memcached进程运行正常,然后我用一段测试代码检查Memcached是否能够正常连接,结果也很正常。
 
  于是又仔细分析日志,发现那段报错信息是间隔出现的,说明是有一定几率的。这时我回想起上周因为架构问题刚刚把PHP的Session存储路径指向到了Memcached里,可能是因为这个配置增加了Memcached的负载,从而导致在并发量较高时,Memcached出现连接超时的现象。
 
  找到原因就容易解决了。重新调整Memcached的启动参数,增加-c参数来提高连接数量。默认为1024,可以逐步增加以找到最佳数值。我设置为2048,启动命令为:
 
  memcached -d -m 256 -c 2048 -l 127.0.0.1 -p 11211 -u root
 
  如果服务器充裕,可以考虑分布式的memcached集群,以降低单个节点上的压力,据说2.5有连接数量过多导致oom的bug。
 
 

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读