26.08.2022

Установка memcached на Ubuntu

Что такое memcached и почему его стоит использовать

По умолчанию большую часть «временных» данных операционная система хранит в файлах на диске. Это достаточно медленно, даже если этот диск - современный SSD. Очевидный способ повысить производительность системы — «сбросить» временные файлы в оперативную память, ведь даже самая медленная память быстрее, чем самый быстрый диск. Наиболее часто это реализуется через использование memcached.

Подготовительный этап

Для установки безопасного кеширующего сервиса понадобится:

Установка «кешировщика» и сопутствующих инструментов

Процесс установки весьма прост. Достаточно:

sudo -s
apt-get update

apt-get install libmemcached-tools memcached -y

Конфигурирование сервиса

Memcached хранит свои настройки в файле /etc/memcached.conf. Наиболее интересными из них представляются:

-m # количество оперативной памяти, используемое для кеширования
-p # TCP-порт, который «слушает» служба
-U # включение UDP-порта (опционально)
-l # используемый IP-адрес, обычно 127.0.0.1 для локального применения или "внешний" IP-адрес, на который могут обратиться «сторонние» службы
-c # допустимое количество одновременных подключений
-S # эта опция нужна, если используется механизм авторизации (будет описано далее)

Чтобы принимать подключения, требуется внести изменения в настройки файрволла

ufw allow <ПОРТ>

Повышение безопасности

Если ваш сервер доступен для подключений извне, нелишним будет немного отредактировать конфигурацию сервиса с целью повысить безопасность. Шаги по «включению» механизма простой аутентификации по логину и паролю следующие:

apt-get -y install sasl2-bin

mkdir /etc/sasl2; nano /etc/sasl2/memcached.conf

 

saslpasswd2 -c -f /etc/sasl2/memcached-sasldb2 -a memcached <ЛОГИН_MEMCACHED>
chown memcache:memcache /etc/sasl2/memcached-sasldb2

service memcached restart

Проверка работы

Для проверки того, работает ли сервис кеширования, достаточно выполнить одну команду

memcstat --servers="<IP_СЕРВЕРА>" --username=<ПОЛЬЗОВАТЕЛЬ_MEMCACHED> --password=<ПАРОЛЬ_MEMCACHED>

Если все сделано правильно, в терминале будет видно примерно следующее:

Итоги

В этой инструкции объясняется, что такое кеширование, для чего оно используется, как установить кеширующий сервис и какие сделать настройки, чтобы повысить уровень безопасности.