将 KeepAlive 设置为 1 秒比将其完全关闭更好吗?

将 KeepAlive 设置为 1 秒比将其完全关闭更好吗?

我听说将 keepalive 超时设置为过高的数字会降低其价值。因此,为了安全起见,同时又能从中获益,我可以将其设置为 1 秒吗?

或者将其设置为 1 秒是否相当于将其关闭?

答案1

首先,在进行任何更改之前,请熟悉系统内部结构。安装 munin 来监控系统运行情况、有多少连接、打开的套接字、apache 进程等,并根据实际数字/统计数据做出选择。

KeepAlive 的主要目的是通过 HTTP 1.1 在同一个连接上发送多个静态文件。因此,如果您禁用 KeepAlive 或将其设置得太短,客户端就必须为每个 css、js、jpg 以及它想要从服务器获取的任何静态文件建立连接。建立连接需要时间,因此最好将其设置为 300 秒。大多数浏览器保持连接打开时间为 120 到 300 秒,而且大多数 SSL 密钥的超时时间也相同,为 300 秒。

如果您遇到资源使用过多的情况,请降低它直到达到适合您和您的客户需求的值。

答案2

您从哪里听说的?设置较高的 KeepAliveTimeout 的风险并不是降低其价值;风险在于,由于打开了太多的保持活动连接,您的 Web 服务器最终可能会出现资源耗尽的情况。

至少,将保持活动超时设置为客户端浏览器完全加载典型页面所需的时间;禁用它或将其设置得太低将强制额外的重新连接,从而降低页面加载速度(并且在 SSL 页面上,每次重新连接时都会强制进行额外的 CPU 密集型协商)。

相关内容