Как устранить проблемы с высокой загрузкой процессора Redis? И как ограничить использование ЦП Redis?

Мы унаследовали систему, в которой есть центральный сервер для операций с очередями. Redis выбран в качестве агента очереди.

Время от времени (например, каждые 2-3 дня) загрузка ЦП службы redis превышает 100%.

enter image description here

Я попытался прочитать журнал, чтобы найти причину:

tail /var/log/redis/redis-server.log

Но он возвращает пустой результат.

enter image description here

Я нашел эту статью , которая предлагает некоторые вещи. Но redis не отвечает на мои команды.

Я застрял в этом вопросе, что делать и как найти проблему. Также, есть ли способ ограничить использование процессора Redis?

3
задан 8 March 2016 в 10:08
2 ответа

Ech hat och Problemer mat der Redis CPU Benotzung. Mäi Fall war vill Redis Verbindungen (Clienten) a Linux Standard Ulimit vun 1024 Open Dateien.

Héich CPU Notzung kéint duerch e puer CPU intensiv Operatioune wéi Smembers verursaacht ginn.

Dir kënnt och de SLOWLOG Redis Kommando benotze fir d'laang lafend Kommandoen ze protokolléieren.

Dat Bescht wat Dir maache kënnt fir de Problem ze verfollegen, wa kee Protokoll a SLOWLOG Resultater ass, ass de Redis-Prozess ze strecken a kucken wat leeft. Fir mäi Fall war et 'Ze vill oppen Dateien' Feeler, awer et gouf nëmmen an der Strace-Output gesinn, déi geléist gouf duerch Erhéijung vun der Standard-Nr vun Dateie Limit iwwer 1024.

1
ответ дан 3 December 2019 в 06:58

По умолчанию Redis не имеет ресурсов ограничения использования, поэтому все зависит от мощности сервера. Поэтому я рекомендую вам настроить Redis с ограничениями:

1 - Отредактируйте этот файл: /etc/redis.conf

2 - Добавьте ограничение памяти (в байтах): maxmemory 536870912

(512 МБ в моем случае, но вы должны использовать ограничение оперативной памяти, которое вам нужно / необходимо)

3 - Также добавьте эту строку правила: maxmemory-policy volatile-lru

Если это правило активировано, когда maxmemory заполнена, redis удалит менее используемые ключи из кеша, чтобы освободить место для новых.

Если вам нужна дополнительная информация об этом, все хорошо прокомментировано на / etc / redis.conf

1
ответ дан 3 December 2019 в 06:58

Теги

Похожие вопросы