Memcached переводим на сокеты

Ускоряем работу с memcached. Сокеты, настройки.

установка memcached

yum install -y memcached

добавляем memcached в автозагрузку системы

/etc/init.d/memcached start
chkconfig memcached on

вся конфигурация представлена для работы под CentOS. Для других систем настройки и расположения файлов могут незначительно отличаться

Использование сокетов

Общеизвестно, что сокеты работают быстрее, чем сетевой протокол. К тому же поменять сетевой протокол на сокет достаточно просто, и не требует никаких существенных телодвижений, кроме небольших правок в конфигурационном файле демона.

По-умолчанию настройки демона memcached лежат в файле /etc/sysconfig/memcached и выглядят следующим образом:

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

подключение сокета вместо tcp соединения будет выглядеть следующим образом:

PORT=0
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-a 0766 -s /var/run/memcached/mem.socket"
  • 1024 - количество одновременных подключений к демону.
  • 64 - количество памяти в мегабайтах, которое выделится для работы демона.
  • -a 0766: маска доступа к файлу с сокетом. По идее это оптимальный вариант. На 0755 memcached ругается, что нехватает прав на работу с файлом, а 0777 уж слишком небезопасно.
  • /var/run/memcached/mem.socket - путь к сокету. Возможна работа с несколькими сокетами одновременно.

После сохранения настроек перезапустите memcached:

service memcached restart<br>

Вот и все. Настроили memcached для работы через сокеты. В дальнейшем можно написать свой класс кеширования для работы с memcached через сокеты.


Комментарии