Сеансы php в памяти в памяти продолжают увеличиваться

#php #session #memcached #libmemcache

#php #сеанс #memcached #libmemcache

Вопрос:

Я запускаю стек lamp из пары серверов приложений, которые использовали один выделенный сервер memcache для размещения сеансов. Проблема в том, что количество элементов в кэше увеличивается с постоянной, почти линейной скоростью. Это меня беспокоит. Я полагал, что при заполнении кэша самые старые записи будут перезаписаны, и проблем возникнуть не должно. Но, похоже, невозможно получить какое-либо представление о фактическом использовании.

Версии, которые я использую, следующие:

на стороне сервера:

  • Ubuntu 10.04
  • memcached 1.4.2

на стороне приложения:

  • ubuntu 10.04
  • php 5.3.2
  • libmemcached-0.44
  • pecl memcached 1.0.2

Я также пробовал эту настройку с pecl memcached 2.0.0b1, pecl memcache 2.2.6 и сборкой на основе libmemcached-0.49, из которых только последний оказал незначительное влияние вообще. Является ли такое поведение нормальным и соответствует задумке, или это сбой session_destroy?

Комментарии:

1. сначала проверьте, используете ли вы постоянное соединение (php-> memcached) или нет.

2. с помощью php-> memcache это было сделано в save_path если это все еще так, то я не использую постоянные соединения.

Ответ №1:

К сожалению, это было мое собственное непонимание memcached, которое создало у меня неправильное впечатление о поведении. После некоторых дополнительных исследований я наткнулся на две (1, 2) статьи, которые прояснили для меня внутреннюю работу.

Мусор не будет собран. Это все еще не дает мне представления о реальном использовании, но, по крайней мере, снимает некоторые опасения. Пока я не получаю выселения, все должно быть в порядке.