Функция обратного вызова вызывается с дескрипторами STDIN и STDOUT подключенными к сокету. Это значит, что объем кода Web-cepвepa со всеми функциональными средствами примеров, описанных в этом разделе, и контролем доступа сокращается до 100 строк.
Этот модуль не предоставляет управляемые пользователем функции ведения журнала, не обеспечивает автоматический перевод в фоновый режим, обработку файла PID или выполнение других, более специализированных функций, которые часто требуются для производственных серверов. Однако все эти функции всегда можно ввести в свои приложения самостоятельно. В любом случае этот модуль незаменим, если необходимо быстро получить работоспособный сервер, а демон inetd не обеспечивает достаточный уровень производительности.
Измерение показателей производительности
Насколько эти методы предварительного ветвления и предварительного формирования потоков способствуют повышению производительности? Что касается предварительного ветвления, то здесь преимущества очевидны. Поскольку издержки запуска новых процессов практически устраняются, серверы с тяжелой нагрузке обычно показывают значительное повышение производительности после перехода от обычного проекта с приемом и ветвлением к предварительному ветвлению. И действительно, после того как был применен стандартный эталонный тест WebSlone (http://www.mindcraft.coin/webstone) для сравнения скорости подключения в системе Linux сервера с приемом и ветвлением, и сервера с предварительным ветвлением, обнаружено значительное повышение производительности (почти в 5 раз) при высоких уровнях нагрузки, после внесения поправок на издержки фактической передачи файлов.