Задать вопрос
@psychedelicGeek
Любитель программировать

Как оптимизировать производительность Node.js при запуске множества фоновых Telegram-ботов?

Всем привет!
У меня есть сервер с параметрами: 8 GB RAM, 4 CPU, 150 GB NVMe SSD. На нём запущено несколько(около 9 активных) Telegram-ботов, написанных на Node.js + TypeScript+Grammy, каждый бот работает в отдельном процессе(systemd + nginx + unix socket). При запуске всех ботов как systemd фоновым процессом, начинаются микрозадержки(microdelays) я рассматривал вариант переписать пару ботов на golang, но сразу остановился, потому что мне придется учить язык Golang практически с нуля, что не хочется.

Все работает на вебхуках

Я понимаю, что у Node.js есть свои ограничения с однопоточным event loop, но хотелось бы понять, какие есть лучшие практики и подходы для оптимизации работы таких приложений:

Как можно улучшить использование памяти и CPU в Node.js при запуске множества параллельных процессов?

Возможно, стоит рассмотреть переход на другие языки или технологии — если да, то на какие и почему?

Есть ли готовые решения или архитектурные паттерны, которые помогают масштабировать подобные сервисы?

Буду благодарен за рекомендации, примеры, ссылки на статьи или свои личные кейсы.
  • Вопрос задан
  • 68 просмотров
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ответы на вопрос 1
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
  1. Сделать отладку и профилирование вашего кода
  2. Найти проблемные места и бутылочные горлышки
  3. Решить их

Или же вы уже это всё сделали и получили явные признаки/доказательства, что проблема именно в ноде?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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