使用 nginx 的 Varnish 比只使用 nginx 更好吗?

Bog*_*min 22 nginx varnish

我看到很多关于在 Varnish 中使用 nginx 的讨论,但我不明白为什么。nginx 还不够吗?

Nginx 有 SSI,有反向代理缓存,轻量级,有 SSL,可以使用 cgi、fpm 等。

Varnish 具有相同的功能,但没有 ssl,也没有 cgi 支持。

Ins*_*yte 23

首先,澄清一下:Nginx 是一个 Web 服务器,具有所需的所有功能和复杂性。它还具有缓存功能,但这不是它的主要设计目标。

Varnish不是Web 服务器。它不能扮演那个角色(无论如何,不​​是没有真正邪恶的 VCL)。它的作用是缓存另一台服务器提供的内容。如果需要,它可以更改请求或响应。

如果nginx可以处理你的流量,那就足够了。如果 nginx 无法跟上,那么增加其容量的一种方法是在它前面放置一个缓存,并让缓存处理尽可能多的请求。

例如,我们使用 Apache 从一组 Web 服务器运行一些相对复杂的 PHP 网站。当我们开始遇到容量问题时,我们在 Apache 集群前面放置了一对 Varnish 服务器。Varnish 主机现在可以处理所有传入请求的 85%,而不会打扰 Apache 后端。

  • 这取决于动态内容。例如,假设该页面是带有评论的博客文章。生成评论线程可能非常昂贵,但将其缓存 5 分钟是完全可以接受的。另一方面,缓存 Webmail 应用程序返回的动态内容显然是有问题的。您甚至可以创建一个混合案例:缓存电子商务应用程序的完整输出,但告诉 varnish 回调后端以填充购物车指示器。 (3认同)

Shi*_*ish 14

我发现小型静态文件的 varnish 比 nginx 快 5%——在 apache 前面使用 varnish,或者在 web 应用程序服务器前面使用 varnish 会带来很大的收益;但在 nginx 面前,好处是微不足道的(特别是考虑到开销和额外的复杂性)