Сделать надежный и быстрый сервер для приложения чата на базе Node.js

Сделать надежный и быстрый сервер для приложения чата на базе Node.js

Всем добрый день.

У нас серьезная проблема с сервером, наш выделенный сервер не отвечает при большом трафике, сервер реагирует слишком медленно, когда ежедневно активны 2500 пользователей. Общее количество пользователей превышает 80000.

У нас есть приложение на основе чата для iOS и Android, API написаны на Node.js, а база данных использует MongoDB.

Пожалуйста, подскажите, как мы можем улучшить скорость сервера? Какой сервер мне использовать? Достаточно ли одного сервера для такого количества ежедневно активных пользователей? Количество наших пользователей растет с каждым днем, и нам нужно сделать его более надежным.

Мы думаем перейти на Amazon и использовать балансировщик нагрузки, но будет ли это хорошей идеей?

Информация о сервере:


Коммерческое название ADVANCE-LE - Intel Xeon W-2145 - 128 ГБ DDR4 ECC 2666 МГц - 2x SSD NVMe 960 ГБ Datacenter Class Soft RAID


Система (ОС):


Автоустановщик Cpanel 11.68 (CentOS 7 64bit)


решение1

Очень сложно сделать предположение, не зная архитектуры вашего приложения и других деталей.

Вам придется определить, где находится узкое место, т. е. какая часть вашего приложения перегружена. Это веб-сервер, приложение Node, база данных, хранилище или что-то еще?

Как только это станет известно, вам придется оптимизировать эту часть — возможно, добавить кэширование, индексы, разделить ее, оптимизировать пути кода и т. д.

Создание масштабируемых приложений — нетривиальная задача, и использование более мощного оборудования обычно не является решением. Это только дает вам немного времени. Оптимизация архитектуры и кода — вот ответ. Это сложнее, но окупается гораздо лучше.

Надеюсь, это поможет :)

Связанный контент