Настройка Redis

Настройка основного конфигурационного файла Redis — redis.conf (его расположение на файловой системе зависит от дистрибутива и способа установки)

 

1.Увеличиваем количество входящих соединений

Прроверяем текущее значение

Выставим somaxconn больше,чем tcp-backlog

Для автозагрузки используем

 

2.Настройка переменной ядра для работы с памятью vm.overcommit_memory
Определяет условия разрешения и отказа запросов больших объемов памяти.
При установки значения этого параметра в 1 ядро не обрабатывает перерасход памяти. При этом вероятность превышения нагрузки на память возрастает, но в то же время увеличивается производительность задач, активно использующих память

Для автозагрузки используем

 

3. Отключение функции ядра Transparent HugePages

Для автозагрузки добавляем в /etc/rc.local (перед строкой выхода exit 0)

 

4.Использование Unix-сокета вместо порта
Если сервер и клиент Redis находятся на одном хосте, то для ускорения работы Redis можно использовать Unix-сокет вместо порта(где используется TCP/IP-стек)

Если необходимо отключить работу Редиса через TCP/IP-стек

Подключение с консоли производится путем указания сокет-файла

 

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

Увеличим количество одновременно открытых файлов для пользователя redis(например, до 10240)

Проверяем

 

6.Определение размера оперативной памяти выделяемой для кэширования
В случае дефолтного значения(нулевого значения), будет использована вся доступная оперативную память.

При достижении установленного лимита памяти Redis будет пытаться удалять ключи из кеша согласно политике,указанной параметром maxmemory-policy.
Если Redis не может удалить ключи согласно политике либо установлена политика ‘noeviction'(политика,при которой ничего не удаляется из кеша, а отдается ошибка при операции записи), то Redis будет отдавать ошибку командам, которые пытались использовать больше памяти (SET,LPUSH и т.д.) и при этом корректно выполнять команды на чтение (GET и т.д.)

 

7.Определение политики работы с памятью
При данной политике, во время нехватки памяти, будут удаляться наиболее старые и наименее используемые ключи, чтобы освободить место для новых.

Возможные политики

 

Бекапы

В Redis реализовано два persistence-режима: RDB и AOF.

Первый режим(RDB)
По умолчанию используется режим RDB
При включении RDB система создает компактные снэпшоты данных в заданные интервалы времени. Это хороший подход для восстановления информации в случае сбоя. Бэкапы пишутся в параллельном процессе при помощи команды fork(), который в случае большой БД затратен по ресурсам и времени. Кроме этого, в случае неожиданного выключения сервера, все данные, которые не были записаны или находились в процессе создания резервной копии, будут утеряны.

По умолчанию установлены параметры:

Создать копию, если было хотя бы одно изменение в течение 15 минут (900 секунд);
Создать копию, если в течение 5 минут (300 секунд) было хотя бы 10 изменений;
Создать копию, если за минуту было 10 000 изменений.

Второй режим(AOF)
Append Only File(AOF) представляет собой лог операций, которые выполняют клиенты. то есть все новые данные добавляются к уже имеющимся данным, причем, каждую секунду по умолчания.
Так что в случае сбоя потери будут минимальны. Но подход немного медленнее RDB, лог-файл существенно больше, производительность зависит от параметров fsync.

 

Включение логирование команд,выполнение которых превышает указанное кол-во микросекунд
Установка отрицательного значения выключает логирование, а установка нулевого значения – включает логирование каждой команды

Длина slow log. Когда новая команда записывается,самая старая – удаляется с очереди логируемых команд

Конфигурационный файл редис имеет вид

 

Получение полной информации о Redis

Получение статистики

Мониторинг скорости кеширования

Мониторинг лимита доступной памяти maxmemory через eviction ключей:

 

Источники:
https://ruhighload.com/post/Redis-optimization
https://www.techandme.se/performance-tips-for-redis-cache-server/
https://rusadmin.biz/web-server/redis-setup-for-cache/

Комментирование и размещение ссылок запрещено.

Комментарии закрыты.

Яндекс.Метрика