Jon*_*art 12 apache-http-server http keepalive
KeepAliveTimeout
如果在给定的时间段内未发出新请求,Apache 的存在将关闭保持活动的连接。如果用户没有关闭他的浏览器/选项卡,这个超时(通常是 5-15 秒)最终会关闭大多数保持活动的连接,并防止服务器资源因无限期地保持连接而浪费。
现在,该MaxKeepAliveRequests
指令限制了单个 TCP 连接(由于 保持打开状态KeepAlive
)将提供的 HTTP 请求数。将此设置0
为允许无限数量的请求。
你为什么要把它设置为“无限”以外的任何东西? 如果客户端仍在主动发出请求,让它们发生在同一个保持活动连接上有什么危害?一旦达到限制,请求仍然会进来,只是在一个新的连接上。
在我看来,限制这一点毫无意义。我错过了什么?
基本上,因为 Apache 不是为此而构建的。问题是服务器内存使用情况。在许多配置中,内容生成与内容交付在同一进程中完成,因此每个进程都会增长到其处理的最大事物的大小。想象一下,由于 php 脚本繁重,进程扩展至 64mb,然后该臃肿的进程坐下来提供静态文件。现在将其乘以 100。此外,如果任何地方存在内存泄漏,进程将无限制地增长。
应根据内容类型和流量来平衡保活设置。一般来说,最佳配置是 MaxKeepAliveRequests 较高 (100-500),KeepAliveTimeout 较低 (2-5),以快速释放它们。
归档时间: |
|
查看次数: |
30862 次 |
最近记录: |