Как на самом деле Apache помогает обслуживать большой трафик?

Я собираюсь установить Apache вместе с cherrypy. Из документации Cherrypy:

if you have a simple website that doesn't have a really high traffic website 
(say, less than 50 hits/second) [...], then running CherryPy exposed is fine.
Otherwise, running it behind Apache is probably the right option for you.

Автономный Cherrypy создаст пул потоков и будет обслуживать запросы. Когда я использую его за Apache, Apache добавляет некоторую магию, которая может обрабатывать большие нагрузки.

Мой вопрос: что именно там делает апач? Управляет ли он самим пулом потоков? Создает ли это больше потоков? Лучше ли он справляется с планированием работы? Создает ли он отдельный экземпляр cherrypy для каждого потока Apache?

Мой вопрос не в том, что вообще делает Apache, я это знаю :) Я хочу знать, какие из вишневых «обязанностей» переходят к Apache, чтобы этот тандем работал лучше

Связано:


person Jakub M.    schedule 09.11.2012    source источник


Ответы (1)


По сути, это дополнительный слой процессов/потоков.

Если apache настроен с диспетчером рабочего процесса, директивы конфигурации ThreadsPerChild и MaxClients определить количество потоков и процессов, которые будет иметь сервер Apache.

Например, запрос веб-сайта включает 5 images, 3 scripts , 2 stylesheets и 1 for the content, то есть 11 requests. Браузер не выполняет все запросы параллельно, но вы собираетесь потратить значительное количество памяти и потоков на обслуживание статического контента, это все равно, что передать «сырой продукт» через фабрику, которая производит сложные продукты и просто использует пространство на фабрике доставить немодифицированный продукт и оставить на фабрике большие пустые ящики (память), которые использовались для перевозки raw product.

Потоки процесса apache «дешевле» в том смысле, что они созданы для выполнения только одной задачи, обработки соединения с клиентом и доставки туда, куда модуль/обработчик apache доставляет соединение.

person cyraxjoe    schedule 22.01.2013