Задать вопрос
delef
@delef
Разработчик (Crystal, Python, Ruby, PHP, JS)

Как ускорить redis.get?

Всем доброго утра!

Сразу к делу. Front-end API работает только с Redis. Для "нахождения" ответа нужно сделать около 10-20 get запросов к redis. Когда появилась нагрузка более 200 RPS (на данный момент ~250), очень стал тормозить метод поиска данных.. т.е. когда нагрузка около 50-150 RPS, все ок, а дальше начинает оч сильно подниматься время ответа.

Инстанс с Redis находится в локальной сети, настройки примерно стандартные (увеличено число коннектов tcp, максимальное число клиентов 10к). Профайлер мне выдает, что именно get все тормозит. Какие есть варианты решения проблемы?

P.S.
- с ресурсами инстанса все ок, redis даже 5% не использует (ограничений у него нет)
P.P.S.
прошу прощения за трактовку вопроса, уже утро, туго соображаю
  • Вопрос задан
  • 486 просмотров
Подписаться 1 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@Fortop
Tech/Team lead
Для начала определить узкое место.
Кто сказал что это Редис?

Ставим xhprof
Собираем метрики
Анализируем.

После этого возвращаемся сюда с правильным вопросом


Мда. Про профайлер пропустил.
В этом случае посмотреть информацию о размере передаваемых данных (возможно не хватает пропускной способности сети)
Попробовать отключить снапшот на диск (он может замедлить работу, если данные обновляются)
Заменить 20 запросов одним.
Редис позволяет извлекать несколько ключей одновременно MGET
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽