memcached和PHP …与会议的大规模滞后

我正在使用Unbuntu 10.04构build的新服务器,运行php-fastcgi,nginx和memcached

phpinfo()脚本加载和工作很好,与testingmemcached脚本相同。 对于使用会话的任何脚本,页面加载时间火箭穿过屋顶。

--- memcached.ini --- extension=memcached.so memcache.hash_strategy = "consistent" memcache.max_failover_attempts = 100 memcache.allow_failover = 1 session.save_handler = memcached session.save_path = "tcp://127.0.0.1:11211?persistent=1&weight=1&timeout=1&retry_interval=15" 

让我知道如果你需要看到任何其他configuration。

问题出在memcache.so和memcached.so之间的session.save_path语法中:

 extension=memcache.so session.save_handler = memcache session.save_path = "tcp://127.0.0.1:11211" 

 extension=memcached.so session.save_handler = memcached session.save_path = "127.0.0.1:11211" 

请注意memcache中的协议,memcached中没有协议。

另外,确保你真的有.so你正在尝试加载。 他们是两个独立的软件包,通过apt-get或Yum或任何你使用的口味。

由于加载错误的模块或使用不正确的语法导致的任何破坏都会在php中尝试使用会话机制并导致超时延迟30秒,最终超时。

希望能节省一些时间。 😉

PHP的memcached不是PHP的memcache! 他们是分开的实现。

什么是一个简单的'session.save_path =“127.0.0.1:11211”'给你? 要么

 session.save_handler = memcache session.save_path = "tcp://127.0.0.1:11211?persistent=1&weight=1&timeout=1&retry_interval=15" 

注意save_handler中缺less的'd'。

将PHP扩展从memcached.so更改为memcache.so。 这解决了所有的滞后问题。 不知道这是一个Ubuntu的错误或与我的设置错误,但它现在工作很好。