Количество пользователей мессенжера онлайн: 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

  • 853