对于几乎只处理每个客户端单个请求的服务器,KeepAlive 是打开还是关闭?

对于几乎只处理每个客户端单个请求的服务器,KeepAlive 是打开还是关闭?

所讨论的 Apache 在 Ubuntu-EC2 实例上运行。它基本上每小时处理大约一百万个请求。本质上,客户端将是POST一个 JSON,仅此而已 - 因此客户端与服务器的交互仅包含此单个请求。

我天真的假设是转向KeepAlive那时off。虽然我读到如果客户端收到的请求非常相似,保持连接也是有益的。

我该切换KeepAlive on还是off

MaxKeepAliveRequests(既然我们已经在做了这件事 - 我也很感激对和的建议/澄清KeepAliveTimeout

答案1

我想说,请保持关闭。如果启用 KeepAlive,您将看到比没有启用 KeepAlive 时更多的 Apache 进程处于挂起状态。

还要确保将TimeOut值从默认的 300 秒减少到更低的值,例如 10 秒左右。

答案2

解决这个问题的一个量化方法是记录请求,并记录每个请求的“此连接上处理的保持活动请求数”(%k1

具有特色的请求份额越高0(就像我的情况一样),切换就越有可能有益KeepAlive off

相关内容