Создается впечатление, что этот сервер имеет почти такую же производительность, как и сервер с ветвлением. Разница проявляется только после повышения нагрузки сервера в результате появления многочисленных входящих соединений, и где становится очевидным, что сервер не может одновременно обслуживать больше соединений, чем задано константой PREFORK_CHILDREN.
Web-cepsep с предварительным ветвлением, версия 2
Хотя первая версия сервера с предварительным ветвлением соответствует назначению, она имеет определенные недостатки. Во-первых, родительский процесс оставляет свои дочерние процессу без присмотра после их запуска. Это значит, что в случае аварийного завершения дочернего процесса или его сознательного уничтожения от внешнего сигнала нет возможности запустить новый дочерний процесс, который бы занял его место. Во-вторых, в настоящее время нет удобного способа останова всего сервера: каждый дочерний процесс необходимо уничтожать вручную, определяя его PID и посылая ему сигнал INT или TERM (или уничтожая каждую задачу на платформе Win32 в программе Process Manager). К слову, если Вы на своем сервере IP телефонии собираетесь использовать, либо уже используете 3G модем Huawei E1550, прошивку для модема можно скачать по адресу: Прошивка 3G модема Huawei E1550 .
Для устранения первого недостатка может быть предусмотрена установка в основной программе обработчиков сигналов для выполнения соответствующих действий в случае уничтожения дочернего процесса или получения сигнала завершения родительским процессом. После запуска первого набора дочерних процессов родительский процесс остается активным до тех пор, пока не будет получен сигнал завершения.