Apache блокирует ввод / вывод? - PullRequest
3 голосов
/ 25 мая 2010

Apache блокирует ввод-вывод или неблокирует ввод-вывод?

Ответы [ 3 ]

3 голосов

Он разветвляет процесс для каждого соединения, поэтому он, вероятно, блокируется (если только он не ожидает тайм-аут в том же потоке, что и сокет ввода-вывода?).

Чтобы быть уверенным, что вы, вероятно, должны искать вызовы создания сокетов в источнике и следить за доступом к дескрипторам сокетов ... Я даже не уверен, должен ли Apache использовать режим разветвления, возможно, он также имеет асинхронный режим .


Редактировать

Правильно, есть куча " Multi-Processing Modules ", которые решают, как обрабатывать несколько HTTP-запросов.

2 голосов
/ 13 декабря 2011

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

http://hc.apache.org/

Для обслуживания статического содержимого лучше использовать неблокирование, но для использования с контейнером сервлета его лучшеиспользовать блокировку [thread localals].

1 голос
/ 18 сентября 2011

Apache блокирует ввод / вывод afaik. nginx использует основанный на событиях не блокирующий единственный поток, и использование памяти относительно намного ниже чем apache Apache использует один поток на каждое соединение, и именно так он обрабатывает несколько соединений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...