Кластер редиса использует шардирование. Т.е. ключи разделены на n нод.

Бывает что есть несколько очень популярных ключей (по количеству запросов) и они все по случайности попали на одну ноду. Это вызовет повышенное колво запросов к ней, в то время как остальные будут простаивать

Решение

  1. Анализируем трафик, для выявления самых частых запросов
    1. wget https://cpan.metacpan.org/authors/id/H/HI/HIROSE/App-redis_traffic_stats-1.005.tar.gz
    2. tar -xf App-redis_traffic_stats-1.005.tar.gz
    3. cd App-redis_traffic_stats-1.005/script/
    4. tcpdump -s 65535 tcp port 6379 -w redis.pcap -i ens33
    5. ./redis-traffic-stats -r redis.pcap > report.txt
  2. Получаем номер слота этого ключа:
    CLUSTER KEYSLOT "key"
  3. Устанавливаем
    pip install redis-trib
  4. redis-trib.py migrate --src-addr 192.168.x.x:6379 --dst-addr 192.168.x.x:6379 NOMER_SLOTA

На этом все, слот перемещен. Можно проверить командой

redis-cli --cluster check 192.168.x.x:x

Комментарии ()