Количество пользователей мессенжера онлайн: 150k
Сегодня
- открытое соединение в Android
- мессенжер на всех страницах WEB
Завтра
Проблема с ресурсами федераций RabbitMQ
- 10 инстансов
- 70 ядер (!) потребление CPU в пиках
- 80 GB (!) потребление памяти

Наше решение

+ немного кода
Где мы сейчас
- 10% пользователей уже на новом механизме
- Потребление CPU в Redis < 5% ядра
- Потребление памяти ~300MB
Наши ожидания
- все текущие пользователи на 1 ядре процессора (вместо 80)
- потребление памяти 4 GB (вместо 80 GB)
Что дальше?
Планируем миграцию 100% пользователей в следующем спринте
Messenger S34
100% пользователей используют sockstream
Федерации RabbitMQ больше не используются

Потребление CPU в Redis +30% одного ядра

30%
Feel the difference
Потребление CPU:
70 / 0.3 = ~ x200 improvement
Потребление памяти:
80 GB / 1.5 GB = x53 improvement
Feel the difference

Feel the difference


User online
2 млн запросов в минуту
5 ms время ответа (99 персентиль)
Новый дизайн писем на всех

demo
By Emelin Alexander
demo
- 981