我应该启用KeepAlive在Apache后端与清漆作为前端?

我使用Varnish作为Apache 2的前端作为Web服务器的后端。 Apache的KeepAlive在这个环境中有什么优点和缺点?

Apache和Varnish现在在同一台服务器上运行,但是我可以将它们放在不同的服务器上。

优点:

  • Varnish和Apache之间的TCP握手不需要每个请求,从而减less开销。

缺点:

  • 如果您的Varnish服务想要连接耗尽来阻止您的Apache服务,那么更容易这样做..?

你能澄清是什么促使这个问题? HTTP连接保持活动在HTTP 1.1和默认情况下默认情况下在每个主要的Web服务器有一个很好的原因; 这是一个性能改进(虽然它将是一个非常小的服务之间没有延迟),有几个拒绝服务相关的警告,当Apache的唯一客户端是清漆不适用。

我甚至build议增加Apache的KeepAliveTimeout高于5秒的默认值,让Varnish继续重新使用相同的连接池。