Конфигурация Redis redis.conf для кэширования сессий PHP и CMS
Готовый redis.conf под кэширование: maxmemory-policy allkeys-lru, отключение фонового сохранения save "", unix сокет для 30% ускорения и защита.
Интерактивный генератор под ваши параметры
Параметры подставляются в код в реальном времени
/etc/redis/redis.conf
# /etc/redis/redis.conf
# Оптимизация Redis под сессии и быстрый кэш в RAM
bind 127.0.0.1 ::1
port 6379
# Unix сокет (на 25-35% быстрее TCP для локального стека)
unixsocket /run/redis/redis-server.sock
unixsocketperm 770
# Ограничение оперативной памяти (например 512 MB для сессий)
maxmemory 512mb
# Политика вытеснения: удалять наименее используемые ключи при заполнении
maxmemory-policy allkeys-lru
# Отключаем сброс на диск для чистого кэша (снижает I/O до 0)
save ""
appendonly no
# Лимиты клиентов
maxclients 10000
timeout 0
tcp-keepalive 300
# Защищенный режим
protected-mode yes
Разбор ключевых директив конфигурации
Техническое обоснование директив и их прямое влияние на процессор (CPU), оперативную память (RAM) и дисковый ввод-вывод (NVMe I/O).
| Директива / Блок | Рекомендуемое значение | Зачем нужно и системное влияние (CPU / RAM / I-O) |
|---|---|---|
maxmemory-policy allkeys-lru |
allkeys-lru | При достижении лимита памяти автоматически удаляет самые старые неиспользуемые ключи кэша, защищая сервер от падения. |
pm.max_requests |
500 - 1000 | Периодически перезапускает PHP-воркеры после обработки N запросов, предотвращая утечки оперативной памяти (Memory Leak). |
request_terminate_timeout |
180s | Принудительно убивает зависшие PHP-скрипты, защищая пул от полного исчерпания свободных процессов при тяжелых SQL-запросах. |
innodb_flush_log_at_trx_commit |
2 | Сбрасывает транзакции MySQL на диск раз в секунду вместо каждого коммита, увеличивая скорость записи в БД в 3-5 раз. |
Рекомендуемые системные требования VDS под этот стек
Расчет минимальной и оптимальной конфигурации виртуального сервера для стабильной работы без сбоев.
Оптимальный сайзинг: 2 vCPU, 4 GB RAM, NVMe
Расчетная нагрузка: до 50 000 сессий/сутки
2 CPU / 4 GB NVMe
Timeweb Cloud
Рекомендуемые ресурсы
2 vCPU /
4 GB RAM /
40 GB NVMe
2 vCPU / 4 GB RAM
Selectel
Рекомендуемые ресурсы
2 vCPU /
4 GB RAM /
40 GB NVMe
Turbo 4 GB
Beget
Рекомендуемые ресурсы
2 vCPU /
4 GB RAM /
40 GB NVMe
Онлайн-утилиты SysKit для проверки этого сервера
Протестируйте корректность применения конфигурации прямо сейчас в один клик.
Частые ошибки при настройке и их решение (FAQ)
Типовые проблемы вебмастеров и сисадминов при внедрении данной конфигурации.
Как переключить сессии PHP на Redis?
В файле `php.ini` укажите: `session.save_handler = redis` и `session.save_path = "unix:/run/redis/redis-server.sock?weight=1"`.
Как понять, что пулу PHP-FPM не хватает памяти?
В логе `/var/log/php-fpm.log` появляется предупреждение `server reached pm.max_children setting, consider raising pm.max_children`. Также команда `dmesg | grep oom` покажет OOM-киллер.
Нужно ли перезагружать службу после изменения параметров?
Да, для применения настроек выполните: `systemctl restart php8.2-fpm` (или вашу версию PHP) и `systemctl restart mysql`.
Рекомендуемые смежные конфигурации
Дополнительные рецепты и калькуляторы для полной оптимизации данного серверного стека.