Описанные выше версии Web-сервера с предварительным ветвлением имеют одно ограничение. Если число входящих запросов на установление соединения превышает число дочерних процессов, доступных для их обработки, то лишние запросы будут ожидать во входной очереди TCP до тех пор, пока не освободится один из дочерних процессов, который вызовет функцию accept ( ). Серверы, выполняющие прием и ветвление, которые описаны ранее, не отличаются такой особенностью; они просто запускают по мере необходимости новые дочерние процессы для обработки входящих запросов.
Последние две версии сервера с предварительным ветвлением, которые будутописаны ниже, являются адаптивными. Родительский процесс следит за тем, какие дочерние процессы простаивают и какие занимаются обслуживанием соединений, если число простаивающих дочерних процессов падает ниже определенного уровня ("нижней отметки”), то родительский процесс запускает новые дочерние процессы в целях увеличения их общего числа. С другой стороны, если число таких дочерних процессов превышает некоторый уровень (“верхнюю отметку”), то родительский объект уничтожает лишние. Это гарантирует наличие нескольких простаивающих дочерних процессов, готовых обслужить входящие соединения (но не в таком количестве, чтобы они бесполезно расходовали системные ресурсы).
Основная сложность при создании адаптивного сервера состоит в организации взаимодействия между дочерними процессами и их родительским процессом.
2014-12-10 16:46:18
это интересно Огромное разнообразие систем автоматического создания сайтов зачастую ставят в тупик, даже опытного специалиста. Какую CMS выбрать под конкретную задачу – это может быть сложный вопрос, особенно если требуется поддержка 1С интеграции. Но решение есть - 1С для любой cms можно найти на сайте cms1c.ru.