技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> PHP --> memcache连接慢又一例

memcache连接慢又一例

浏览:3317次  出处信息

    继上次解决memcache连接慢问题以来,好长一段时间没在这个问题上翻过跟头。这一次我又在生产环境观察到php和memcache的连接时间经常会在50ms以上。

    作为一个cache,占用了这么长的执行时间,天理何在?

    实际的运行环境如下:

apache + mod_phpphp-memcache扩展版本为2.2.5memcache的并发连接数在400左右,相当少

    这次memcache扩展用的是最新的稳定版,无可挑剔。所以刚开始我认为是网络环境的问题,于是直接采用telnet工具直连memcache进行测试,发现速度飞快!一点便秘感都没有!所以把目光仍然放回到memcache扩展上来,集中对比较慢的addServer方法各项参数进行排查。

Memcache::addServer方法

    bool Memcache::addServer ( string $host [, int $port = 11211 [, bool $persistent [, int $weight [, int $timeout [, int $retry_interval [, bool $status [, callback $failure_callback [, int $timeoutms ]]]]]]]] )

    比对结果表明,$weight参数对memcache的连接时间有显著的影响,$weight的默认值为1,一旦设置为别的数值,连接时间便会由毫秒级变成50ms左右,立竿见影。

    鉴于php-memcache扩展一贯恶劣的表现,俺不得不痛下决心迁移到新的memcached扩展上。memcached扩展基于libmemcached开发,而且提供了丰富的接口方法,应该是更好的选择。

    

建议继续学习:

  1. 关于memcache分布式一致性hash    (阅读:10714)
  2. Memcache分布式部署方案    (阅读:5507)
  3. 关于session和memcache的若干问题    (阅读:4300)
  4. Memcache源代码分析之数据存储    (阅读:3954)
  5. Memcache mutex设计模式    (阅读:3775)
  6. 关于Memcache长连接自动重连的问题    (阅读:3682)
  7. Memcache源代码分析之网络处理    (阅读:3657)
  8. Memcache协议的学习    (阅读:3629)
  9. memcache的几点注意    (阅读:3478)
  10. 解决memcache连接奇慢问题一例    (阅读:3480)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1