Как стать автором
Обновить

Комментарии 7

В нашем случае эти советы привели к десятикратному улучшению производительности
(¬‿¬ )

А если по существу:
Увеличьте лимит памяти
А может лучше посмотреть, куда сжирается память?
по умолчанию Node работает в одном треде
Ага, а внутри в ноде нету своего пула потоков.

P.S. для логирования возможно лучше использовать pino. Он вроде как даже быстрее будет.
Ага, а внутри в ноде нету своего пула потоков.

Поправьте меня, если ошибаюсь, но эти потоки обрабатывают в фоне I/O, и заметного выигрыша увеличение количества ядер не даст. Дополнительные ядра могли бы пригодиться для вычислительных задач, но последние происходят в цикле событий, который как раз по-умолчанию однопоточный. Мне всегда казалось это как-то так работает.
НЛО прилетело и опубликовало эту надпись здесь
Мой поинт в том, что многие почему-то думают, что если они поднимут инстансов сервиса по числу ядер, то оптимально утилизируют мощности (ведь нода в одном треде работает, да?), но при этом забывают, что эти же ядра используются и потоками из пула каждого поднятого инстанса ноды.
Можете перефразировать либо дать ссылку на литературу? Я все еще считаю что кластер из двух инстансов займут 2 ядра, даже если их больше. Или это не так?
Если посмотреть в top-е на запущенное в 1 воркер node приложение, можно увидеть кучку дополнительных потоков. Как минимум в отдельном потоке/потоках работает GC.
Я, например, наблюдал максимум 120% нагрузку CPU от 1 инстанса node сервера.
Убедитесь, что вы задействовали все ядра процессора: по умолчанию Node работает в одном треде. Если вы специально не настраивали конфигурацию, которая запускала бы несколько тредов, сэкономьте деньги, выбрав сервер с 1 ядром.
Вы о чём, о cluster? Или cli для запуска нескольких нитей (потоков)? Можно этот пункт расширить немного, пожалуйста?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории