Apache阻止I / O吗?

时间:2010-05-25 02:39:45

标签: apache unix sockets

Apache是​​阻止I / O还是非阻塞IO?

3 个答案:

答案 0 :(得分:2)

它为每个连接分配一个进程,所以它可能是阻塞的(除非它在与socket i / o相同的线程上监视超时?)。

为了确保您应该在源代码中查找套接字创建调用,并遵循对套接字描述符的访问...我甚至不确定Apache是​​否必须执行分叉模式,也许它也有异步模式


修改

是的,有一堆“Multi-Processing Modules”,它决定了如何处理多个HTTP请求。

答案 1 :(得分:2)

Apache支持两者。默认阻止。有使用NIO事件的非阻塞模块。 它是一种基于性能的调整,用于决定使用哪种方法。

http://hc.apache.org/

对于提供静态内容,最好使用非阻塞,但是对于servlet容器,最好使用阻塞[thread locals]。

答案 2 :(得分:0)

Apache阻止i / o afaik。 nginx使用基于事件的非阻塞单线程,内存使用率比apache低得多。 Apache每个连接使用一个线程,这就是它处理多个连接的方式。