我应该使用 Varnish 作为前端在 Apache 后端启用 KeepAlive 吗?

Chr*_*vén 6 varnish apache-2.2

我在 Web 服务器上使用 Varnish 作为前端,Apache 2 作为后端。KeepAlive在这种情况下,Apache 的优缺点是什么?

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

Sha*_*den 5

亲:

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

骗局:

  • 如果您的 Varnish 服务想要在连接耗尽的情况下对您的 Apache 服务进行 DoS,那么这样做会更容易......?

你能澄清是什么促使这个问题吗?HTTP 连接保持活动在 HTTP 1.1 中隐含,并且在每个主要 Web 服务器中默认开启是有充分理由的;这是一种性能改进(尽管它会是一个非常小的改进,服务之间没有延迟),有一些与拒绝服务相关的警告,当 Apache 的唯一客户端是 Varnish 时,这些警告不适用。

我什至建议将 Apache 的设置KeepAliveTimeout提高到高于默认值 5 秒,让 Varnish 继续重用相同的连接池。

  • 该文件具有令人难以置信的误导性和过时性,应该从互联网上删除。假设“性能”的唯一限制因素是空闲可用工作线程的数量——这种情况很少发生,尤其是当唯一的客户端是 Varnish 服务器时更是如此。他们还假设给定的客户端一次只会向 mod_perl 服务器发出一个请求,从而提出该建议。并且忽略客户端只使用一个连接并且因此花费更长的时间的部分;多年来,情况并非如此。 (3认同)