@SET1

Рационально ли использовать Redis в данном случае?

Имеется шард серверов MySQL, и каждый сервер хранит 200 000 пользователей, которые стабильно ~15 раз в день обращаются к данным своего профиля в один из серверов простым SELECT. Рационально ли использовать Redis или можно ограничиться вертикальным масштабированием? Мне кажется логичным сначала использовать вертикальное масштабирование, а затем, если потребуется, подключать уже Redis.
  • Вопрос задан
  • 140 просмотров
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега MySQL
{PHP, MySql, HTML, JS, CSS} developer
Из вопроса делаем вывод что а) данных не много б) они уникальны для пользователя в) запрос простой.
200 000 * 15 = 3 000 000 000 запросов в день, учтем что подразумевается скорее всего рабочий день, пусть 8 часов, и нагрузка распределена примерно равномерно. 3М/8/60/60 = 104 запроса в секунду, пусть в пике загрузки это будет 300-400 запросов.
Думаю пока вам хватит даже без масштабирования ресурсов, в дальнейшем при необходимости можно ввести кеширование, правда я не уверен что оно даст большой прирост, так как:
1) Данные должны быть горячие, то есть кеш на такие данные должен быть короткий, а одинаковые запросы скорее всего сильно разнесены по времени, по этому кеш будет вечно протухшим.
2) Данные на "узкие" запросы вообще плохо кешируются, так как содержат не массив выборки, а 1 строку, то есть получается много мелких данных вместо 20-30 списков на много строк.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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