Наверное многие сталкивались с проблемой, когда от большого количества файлов сессий php (sess_*) заканичивались дисковые инноды. Это приводило к остановке всего в системе. Предлагаем Вам альтернативное решение данной проблемы, с помощью которого Вы сможете сразу же убить двоих зайцев — это сокращение дисковой нагрузки и корректную очистку сессий php.
memcached — демон, имеющий tcp интерфейс, позволяющий распределенно (при надобности) хранить в памяти пары «ключ=значение»
Для того, чтобы взаимодействовать с memcached, для php есть расширения. Старое-стабильное php5-memcache (новое — php5-memcached). Вот старое-стабильное и будем пользовать. Это дает два момента:
-
Появляется возможность использовать для хранения сессий memcached. Это должно помогать на сайтах, у которых массивно используются сессии. Т.к. снимет нагрузку с дисковой подсистемы.
-
Появляется возможность использовать memcached в некоторых CMS.
Установка очень праста:
apt-get -y install memcached php5-memcache
Редактируем файл /etc/default/memcached и ставим YES
php.ini и правим 2 параметра:
session.save_handler = memcache
И завершаем:
/etc/init.d/memcached restart /etc/init.d/apache2 restart
в /etc/memcached.conf есть параметр, регулирующий объём памяти memcached