Я знаю, что этот узел представляет собой однопоточную систему, и мне было интересно, использует ли дочерний процесс собственный поток или его родителей. например, у меня есть amd E-350 cpu с двумя потоками. если я запустил сервер узлов, в котором было создано десять дочерних экземпляров, которые все работают непрерывно. разрешило бы это или потерпело бы неудачу, поскольку само оборудование недостаточно?Ограничения дочернего процесса Node.js
1
A
ответ
2
Я могу сказать из собственного опыта, что я успешно породил 150 дочерних процессов внутри Amazon t2.micro с одним ядром.
Причина? Я сделал DoS-сам для тестирования пределов моего основного сервера.
Нападение осталось живым в течение 8 часов, пока я не сдался, но он мог работать намного дольше.
Мой код просто запускал пул HTTP-клиентов, и как только один запрос был выполнен, другой порожден. Это не требует большого количества CPU. Однако для этого нужна большая сеть. Большую часть времени процессы просто ждали завершения запросов.
Однако в высококонкурентном приложении производительность будет ужасной, если вы будете делиться памятью между многими процессами.
CPU имеет два ядра, одно ядро может поддерживать несколько потоков, а дочерние процессы выполняются в своих потоках, поэтому ответ, конечно, да. хотя простой тест, вероятно, привел бы вас к такому же выводу. –