【问题标题】:What do the different terms in Apache configuration means?Apache 配置中的不同术语是什么意思?
【发布时间】:2012-09-25 04:58:19
【问题描述】:
我不断遇到 Apache 设置中使用的某些术语。在尝试理解各种讨论和Apache's docs 时,我需要一些帮助来弄清楚其中一些术语的含义:
- 什么是客户端?
- 客户端和子进程有什么区别?它们是一样的吗?
- 如果
MaxClient = 255,是否意味着 Apache 将并行处理多达 255 个页面加载,其余的将排队?
- 什么时候使用
KeepAlive 请求?
- 一个子进程和这个子进程的请求是什么关系?
【问题讨论】:
标签:
apache
http
client-server
【解决方案1】:
首先,请注意,这些答案仅在使用 prefork 模式时适用于 Apache 1.x 或 Apache 2.x。
打开 HTTP 连接并发送请求的机器。
不,它们不一样。一个 Apache 子进程一次可以处理一个请求/客户端,但是当该请求/客户端完成后,同一个子进程可以处理一个新的。
是的。
它用于保持 HTTP 连接打开,以防客户端想要发出另一个请求。客户端可以保持连接,例如,下载与网页相关联的图像等。 KeepAlive On 可以提高客户端(用户)的性能,但关闭它会减少服务器的内存使用量。这是一种权衡。
Apache 进程启动了一堆子进程。当请求进来时,父(根)进程选择一个空闲的子进程来处理该请求。该请求完成后,子进程现在处于空闲状态,可以处理新请求。
【解决方案2】:
首先,我希望您了解 apache 1.3 非常古老,因此文档通常比新文档更难理解(即,如果您有选择,也许您应该升级)。
我不确定“客户端”在 apache 文档中的哪个位置,我认为它指的是任何连接到开放端口并进行通信的东西。
再说一次,不确定“孩子”本身在哪里指代,所以我无法帮助您。
MaxClient 是 apache 将开始处理请求的进程数。听起来对于 Apache 1.3,您所说的是准确的,apache 只会并行处理 MaxClient 请求(将其余请求排队到队列的其他最大值)。
KeepAlive 并不是真正的请求。它在请求头中发送,告诉服务器浏览器支持 KeepAlive。它与 HTTP 的一项功能有关,该功能允许一个连接用于多个访问。如果您允许 KeepAlive,您的服务器可能会获得更少的 TCP 连接。
我什至不确定你在这里问什么,所以你需要更具体一些。