Будут ли несколько приложений NodeJS работать на разных ядрах?

#node.js

#node.js

Вопрос:

Допустим, у меня есть сервер с 2 ядрами процессора, затем я запускаю 2 приложения NodeJS. Поскольку NodeJS однопоточен, будут ли эти два приложения NodeJS работать на разных ядрах или они будут работать на одном ядре?

Для получения дополнительной информации я хотел бы расширить свой сокет.Сервер ввода-вывода. Поэтому я хочу запустить два экземпляра этого сокета.Сервер ввода-вывода без кластеризации. Я беспокоился, что даже если я запущу два их экземпляра, он не будет использовать все ядра.

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

1. Запустите его с помощью pm2 или вилки

2. @michalpavlik Это действительно не нужно для большинства приложений. И, имея только два ядра, я действительно сомневаюсь, что этому человеку это понадобится.

Ответ №1:

будут ли эти два приложения NodeJS работать на разных ядрах или они будут работать на одном ядре?

Вы запускаете два разных процесса. Планирование того, где они будут выполняться, зависит от вашей операционной системы. Да, они будут использовать разные ядра. Это ничем не отличается от множества экземпляров любого другого исполняемого файла.

Так как NodeJS однопоточный…

Это своего рода миф, и он неприменим для большинства Node.js приложения. Конечно, ваш JavaScript работает однопоточно, но все операции ввода-вывода и все, что находится в собственных модулях, может быть многопоточным.

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

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

1. Итак, по-прежнему ли ОС может решить запустить два процесса на одном ядре? И как только ОС решит запускать оба на одном ядре, изменит ли она каким-то образом ядро, если оно перегружено? Извините, я думаю, что этот вопрос больше относится к материалам операционной системы, но, возможно, вы знаете ответ.

2. Ах, НВМ, я думаю, что уже нашел ответ: stackoverflow.com/questions/18496888/does-a-thread-run-on-the-same-cpu-core-throughout-its-life