memcached: Too many open files

By | 12/24/2018
 

Перед Новым Годом делали нагрузочное тестирование, насобиралось несколько черновиков по мелким фиксам.

Без детального расмотрения, просто примеры того, как можно исправить некоторые ошибки.

В данном случае – у нас иногда начинал отваливаться memcached с ошибкой вида:

Dec 16 00:40:12 bttrm-stage-app-1 systemd-memcached-wrapper[14041]: accept4(): Too many open files

Редактируем /etc/security/limits.conf, задаём лимиты для пользователя memcache, от которого работает сам memcached:

...
memcache hard     nofile     4096
memcache soft     nofile     4096

Редактируем /etc/memcached.conf, задаём лимит файлов тут – добавляем -c 4096.

Теперь весь файл выглядит так:

root@bttrm-stage-app-1:/home/admin# cat /etc/memcached.conf
-d
-v
logfile /var/log/memcached.log
-m 300
-p 11211
-u memcache
-l 0.0.0.0
-c 4096

Перезапускаем сервис:

root@bttrm-stage-app-1:/home/admin# systemctl restart memcached.service

Проверяем:

root@bttrm-stage-app-1:/home/admin# echo "stats settings" | nc localhost 11211
STAT maxbytes 314572800
STAT maxconns 4096
...

maxconns 4096 – готово.