memcached и PHP... огромная задержка с сессиями

memcached и PHP... огромная задержка с сессиями

Я работаю над новым сервером, созданным на базе Unbuntu 10.04, на котором запущены php-fastcgi, nginx и memcached.

Скрипт phpinfo() загружается и отлично работает, как и тестовый скрипт memcached. Для любого скрипта, использующего сессии, время загрузки страницы взлетает до небес.

--- 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"

Дайте мне знать, если вам нужны какие-либо другие конфигурации.

решение1

Проблема в синтаксисе session.save_path между memcache.so и memcached.so:

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 или любую другую разновидность, которую вы используете.

Любая ошибка, вызванная загрузкой неправильного модуля или использованием неправильного синтаксиса, приводит к 30-секундной задержке загрузки в PHP, пока он пытается использовать механизм сеанса, и в конечном итоге происходит тайм-аут.

Надеюсь, это сэкономит кому-то время. ;-)

решение2

Memcached php - это НЕ memcache php! Это отдельные реализации.

Что вам даст простое '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"

Обратите внимание на отсутствующую букву «d» в save_handler.

решение3

Измените расширение PHP с memcached.so на memcache.so. Это решает все проблемы с задержками. Не уверен, баг ли это Ubuntu или ошибка моей настройки, но теперь все работает отлично.

Связанный контент