2011-06-27 53 views
3

当我们的服务器处于任何重要负载下时,出现以下错误的一些变化。我已经搜索了几个小时,并尝试了一切(包括升级到最新版本和干净安装)。我已经阅读了关于SA的所有文章,但无法弄清楚。很多人都有同样的问题,但没有人似乎有一个明确的答案。任何帮助将不胜感激。提前致谢。Memcache错误:从流(0)读取行失败数组

Fatal error: Uncaught exception 'Zend_Session_Exception' with message 'Zend_Session::start() - /var/www/trunk/library/Zend/Cache/Backend/Memcached.php(Line:180): Error #8 Memcache::get() [memcache.get]: Server localhost (tcp 11211) failed with: Failed reading line from stream (0) Array

我们有一个测试生产环境的副本,一切都很好,直到我们开始负载测试。我认为存储的最大对象大约为170KB,但当所有内容完成时(大大低于1MB限制),它可能大约为500KB。仅供参考:Memcache每页载入次数达到10-20次。这里的memcached的设置:

PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS=""

我运行内存缓存1.4.5与PHP-内存缓存模块的2.2.6版本。 PHP是版本5.2.6。从PHP -i内存缓存的细节:

memcache

memcache support => enabled
Active persistent connections => 0
Version => 2.2.6
Revision => $Revision: 303962 $

Directive => Local Value => Master Value
memcache.allow_failover => 1 => 1
memcache.chunk_size => 8192 => 8192
memcache.default_port => 11211 => 11211
memcache.default_timeout_ms => 1000 => 1000
memcache.hash_function => crc32 => crc32
memcache.hash_strategy => standard => standard
memcache.max_failover_attempts => 20 => 20

谢谢大家每次载入网页

+0

我不熟悉memcached,但你有没有尝试调整设置?我认为64MB和MAXCONN = 1024的CACHESIZE有点过于严格,maby尝试类似CACHESIZE =“512”和MAXCONN =“16384”? – XzKto

回答

1

10-20倍?然后尝试使用持久连接。 我也会尝试运行第二个memcached实例并将其添加到池中。

+1

持久连接并没有做到这一点,但第二种情况的确如此。这是在我的开发服务器上,所以它都在同一个盒子里。一旦我将它移动到具有2个独立memcached服务器的临时环境中,问题似乎就自行解决了。谢谢你的帮助。非常感激。 – daviddripps

相关问题