php专区

 首页 > php专区 > PHP应用 > 常用功能 > php中Memcached连接超时问题解决办法 - php高级应用

php中Memcached连接超时问题解决办法 - php高级应用

分享到:
【字体:
导读:
          今天起看发现服务器的nginx产生大量日志了,并且提示PHP Warning: Memcache::connect(): Can t connect to 127 0 0 1:11211, Connection timed out (110) in,后来几经周折找出问题所在了。...

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

今天起看发现服务器的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

分享到:
php pdo_mysql未安装问题解决方法 - php...
php pdo_mysql未安装问题解决方法 未安装pdo_mysql使用时会提示pdo_mysql 必须支持 请检查 pdo_mysql 模块是否正确加载了,安装方法很简单下面我来看看。 解决方法: 1.修改本地php.ini配置,以Win下的php.ini为例,找到;extension=php_pdo_mysql.dll、;extension=php_pdo.dll,去除前面的...
PHP生成CSV文件用Excel打开乱码问题 - ph...
PHP生成CSV文件用Excel打开乱码问题 PHP生成UTF-8编码的CSV文件用Excel打开中文显示乱码,是由于输出的CSV文件中没有BOM,我们只要简单处理一下即可,那么如何在PHP中输出BOM呢?在所有内容输出之前: print(chr(0xEF).chr(0xBB).chr(0xBF)); 例.php生成csv时我们可以这样:   还...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……