Сразу к делу. 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.
прошу прощения за трактовку вопроса, уже утро, туго соображаю
Для начала определить узкое место.
Кто сказал что это Редис?
Ставим xhprof
Собираем метрики
Анализируем.
После этого возвращаемся сюда с правильным вопросом
Мда. Про профайлер пропустил.
В этом случае посмотреть информацию о размере передаваемых данных (возможно не хватает пропускной способности сети)
Попробовать отключить снапшот на диск (он может замедлить работу, если данные обновляются)
Заменить 20 запросов одним.
Редис позволяет извлекать несколько ключей одновременно MGET