Сценарий:
Использование основного сценария для порождения переменного количества дочерних процессов разное количество раз для выполнения нагрузочного тестирования на сервере.
Основной сценарий сначала порождает всех дочерних процессов, которых он может (в соответствии с настройками его конфигурации), а затем, когда дочерние процессы завершаются, если конфигурация запрашивает больше запусков, запускаются новые дочерние процессы.
Я вижу немедленный сбой при попытке запустить 83-й дочерний процесс. 83?
Я ничего не делаю, чтобы явно закрыть файлы, открытые как часть процесса создания дочерних элементов, но, по-видимому, это не работа кода открытия, а кода модуля child_processes?
Мне очень любопытно магическое число 82 дочерних процессов. Кажется, это указывает на что-то либо на ограничение узла, либо на какую-то комбинацию узлов в моей системе?
В идеале, мне не хватает знаний, чтобы ответить на этот вопрос, или кто-то может предложить альтернативный способ запуска дочерних процессов сценариев, которые не будут страдать от этой проблемы?
Мне также интересно узнать о статусе API Web Worker, который появится в NodeJS. Кто-нибудь знает что-нибудь об этом?
Детали:
- NodeJS v0.4.7
- Mac OS X v10.6.7
- улимит -n = 256
- магическое число порожденных дочерних процессов, которые будут успешно запущены = 82 (это означает, что › 82 порожденных процесса вызовут ошибку слишком много открытых файлов)
Спасибо за любую помощь.