Преимущества приложения Node от нескольких ядер зависят от приложения.
Как правило, если дочерний процесс или модули кластера не задействованы, то в вашей системе нет необходимости иметь несколько ядер, потому что Node.jsбудет использовать только одно ядро, так как обработчик запросов всегда выполняется в одном и том же цикле событий, который выполняется в одном потоке.
Как добиться параллелизма процессов и высокой пропускной способности : поскольку выполнение JavaScript в Node.js является однопоточным, так что хорошее правило для поддержания скорости сервера Node: избегать блокированияцикл событий. Вы можете прочитать об этом в официальной документации в моей ссылке ниже.
Простая иллюстрация : рассмотрим случай, когда для выполнения каждого запроса к веб-серверу требуется 50 мс, а 45 мс из этих 50 мс составляют базу данных. Ввод / вывод, который может быть выполнен асинхронно. Выбор неблокирующих асинхронных операций освобождает 45 мс на запрос для обработки других запросов. Это значительная разница в емкости вашего приложения и скорости обработки, если вы выбираете использование неблокирующих методов вместо методов блокировки.
Ссылка:
- https://nodejs.org/en/docs/guides/dont-block-the-event-loop/
- https://nodejs.org/en/docs/guides/blocking-vs-non-blocking/
Надеюсь, это поможет.