lightningminers / article

⚡️闪电矿工翻译组-前端(front end developer)
GNU Lesser General Public License v3.0
58 stars 9 forks source link

Varnish Cache vs. NGINX Cache: Performance Comparison #52

Closed luzuoquan closed 5 years ago

luzuoquan commented 5 years ago

原文地址: https://blog.resellerclub.com/varnish-cache-vs-nginx-cache-performance-comparison

原文作者: Sagar Kulkarni

翻译作者: Fedora

如果说每一个站点维护者有一个都想去实现的目标,那肯定是实现站点快速加载。毋庸置疑,网页的加载时间很大程度影响着用户的留存以及搜索引擎的排名。通过采取一系列的技术手段比如图片优化、内容网络分发(CDN)、使用正确的缓存服务器等。网站的维护者不断努力的减少页面的加载时间。虽然所有的措施都是对减少页面加载时间有益的,但是这篇文章主要关注缓存。Varnish 缓存 与 Nginx 缓存是两大比较重要且流行的缓存方案有助于提升网站的体验。

虽然这两种缓存方案都有各自的优势,但是一份详细的关于这两种方案特性的学习文档可以帮助你更好的选择那种缓存方案。

Varnish 缓存

varnish

Varnish 缓存是一个前端 web 加速器有助于动态和内容繁多的站点应对高流量冲击。Varnish 是一个反向的 HTTP 代理,缓存来自服务器的静态和动态内容以此提高网站的访问体验。提升网站的访问速度是显而易见的。

Varnish 缓存也允许开发者编辑规则和设置策略通过 .vcl (Varnish 配置语言)。简而言之,vcl 能够让网站的维护者直接通过 Varnish 处理网站的流量。这样你就能够完全的控制你想要缓存的内容和缓存的方式。领先的社交网站像 Facebook 、Twitter 或者是页面内容丰富的 Wikipedia,在这些相似的网站中,都使用了 Varnish 缓存来管理内容缓存。

以上简要的介绍了 Varnish ,现在我们来了解一下 Nginx 缓存的工作原理。

Nginx 缓存

nginx

Nginx 正式发布于2004年,是一个开源的 web 服务器用来或服务代理。它通常提供邮件代理、反向代理、负载均衡、HTTP 缓存、微缓存等等。这些都能帮助减少加载时间和提升网站的体验。大部分高流量网站和多应用环境,都是使用 Nginx 缓存。众所周知,Nginx 在处理并发上是非常高效的。

在简单的熟悉了两种缓存方案之后,现在是时候进行深入的评估哪一种方案适合你的网站。

Varnish vs. NGINX

实际上,很难对 Varnish 和 Nginx 做一个比较。因为 Varnish 和 Nginx 基本上是相似的。它们都可以被用来做服务器的反向代理和负载均衡。但是如果我们深入了解他们背后的技术,我们会发现几处 Varnish 与 Nginx 在缓存上的表现几乎是对立的。

灵活性