关于MemcacheDB PHP客户端的问题及解决办法
2010-03-17 12:51
519 查看
http://blog.developers.api.sina.com.cn/?p=264
最近MemcacheDB邮件列表和研发部那边同事报告PHP的memcache客户端php-memcache经常出 现断连接的问题:
PHP Notice: Memcache::get(): Server ………. (tcp 11211) failed with: Failed reading line from stream (0) with pecl-memcache 3.*
….
这个问题由来已久,我们的解释是MemcacheDB的延迟受磁盘写入影响 (checkpoint时, memtrickle时)会有一点的浮动。虽然整体延迟不是很高,但是 相比于Memcached纯内存稍高。而PHP memcache宏观上认为是cache行为,会对延 迟稍高的连接扔掉(其认为延迟高就失去cache的意义)。
解决办法是使用andreiz的php-memcached:
http://pecl.php.net/package/memcached http://github.com/andreiz/php-memcached/tree/master
php-memcached是brian的libmemcached库的php wrapper. libmemcached是一个 前途光明的memcache协议c/c++客户端库,未来对二进制版本的支持,另外极有可能包括MemcacheDB的扩展命令rget等的支持(已经联系好作者提交patch)
我对php-memcache和php-memcached两个客户端作了简单的评估。分别set 1000 万条200字节的value,其中php-memcache表现得脆弱,连接频频断掉。而php- memcached依然保持坚挺,从未断过。
最近MemcacheDB邮件列表和研发部那边同事报告PHP的memcache客户端php-memcache经常出 现断连接的问题:
PHP Notice: Memcache::get(): Server ………. (tcp 11211) failed with: Failed reading line from stream (0) with pecl-memcache 3.*
….
这个问题由来已久,我们的解释是MemcacheDB的延迟受磁盘写入影响 (checkpoint时, memtrickle时)会有一点的浮动。虽然整体延迟不是很高,但是 相比于Memcached纯内存稍高。而PHP memcache宏观上认为是cache行为,会对延 迟稍高的连接扔掉(其认为延迟高就失去cache的意义)。
解决办法是使用andreiz的php-memcached:
http://pecl.php.net/package/memcached http://github.com/andreiz/php-memcached/tree/master
php-memcached是brian的libmemcached库的php wrapper. libmemcached是一个 前途光明的memcache协议c/c++客户端库,未来对二进制版本的支持,另外极有可能包括MemcacheDB的扩展命令rget等的支持(已经联系好作者提交patch)
我对php-memcache和php-memcached两个客户端作了简单的评估。分别set 1000 万条200字节的value,其中php-memcache表现得脆弱,连接频频断掉。而php- memcached依然保持坚挺,从未断过。
相关文章推荐
- 安装Piwik时遇到的一个奇怪的关于PHP参数问题的解决办法
- 关于thinkphp应用配置config.php无法加载的问题解决办法
- 记录下关于Synergy 客户端鼠标无响应问题的解决办法
- failed to open stream解决办法-关于WIN主机下配置PHP的若干问题解决方案总结
- 关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法
- 关于搭建php电商环境时缺少fileinfo、数据库安装出错问题解决办法
- 关于PHP Ajax跨域问题的解决办法
- 关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法
- PHP_关于php时间戳最大支持到2038年问题解决办法
- 关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法
- 关于plsql导入pde因为字符集设置问题报错,而研究oracle服务器字符集、客户端字符集过程中发现的问题看,以及亲测的解决办法
- 关于php中验证码显示不出来的问题解决办法
- 关于wamp+eclipse for PHP环境的搭建以及其中部分问题的解决办法
- 关于调试php的socket服务端中遇到的问题及解决办法
- PHP关于代码转换问题比较完善的解决办法
- android 关于Make sure the plugin is properly configured问题的解决办法
- php5.3开始出现的Function ereg() is deprecated Error问题解决办法
- 关于布局中float的常见问题及解决办法
- 关于谷歌地图GPS偏移问题的解决办法
- 关于UITabbarItem在iOS 8 上显示不知道哪里来的蓝色并且模糊的问题解决办法