我们需要一个用于静态图像的Web内容加速器,以便位于我们的Apache Web前端服务器
之前我们以前的托管合作伙伴使用Tux取得了巨大的成功,我喜欢它是我们正在使用的Red Hat Linux的一部分,但它的最后一次更新是在2006年,而且未来发展的可能性很小。我们的ISP建议我们使用Squid作为反向缓存代理角色。
Tux和Squid之间的想法?兼容性,可靠性和未来支持对我们而言与性能同等重要。
另外,我在这里读到关于清漆的其他主题;任何人都有与Vquid相比,Varnish的实际经验,和/或Tux,在高流量环境中获得?
干杯
伊恩
更新:我们现在正在测试Squid。使用ab以100的并发率将相同的图像拉出10,000次,Apache本身和Squid / Apache都非常快速地通过请求烧毁。但是Squid只向Apache提出了一个请求,然后从RAM中提供了所有这些请求,而Apache只需要派遣大量工作人员来为图像提供服务。看起来Squid可以很好地释放Apache工作人员以处理动态页面。
答案 0 :(得分:35)
根据我的经验,清漆比鱿鱼快得多,但同样重要的是它比鱿鱼的黑盒子要少得多。 Varnish使您可以访问非常详细的日志,这些日志在调试问题时非常有用。它的配置语言也比squid更简单,更强大。
答案 1 :(得分:15)
如果您的服务器发送带有.js和图像的cookie,那么您的后端方面就会出现问题,而不是Varnish方面的问题。正如@Daniel所提到的那样(链接提供),你可以强制缓存这些文件,这要归功于Varnish中集成的非常酷的语言/ DSL ...
答案 2 :(得分:12)
如果您想要推送静态图像及其中的大量图像,您可能需要先了解一些基础知识。
您的应用程序应确保传递所有正确的标头,例如Cache-Control和Expires。这应该会导致客户端浏览器在本地缓存这些图像并减少您的请求数量。
使用CDN(如果它在您的预算中),这会使图像更接近您的客户(通常),并为他们带来更好的用户体验。要使CDN成为高效投资,您需要再次确保所有必要的缓存标头都已正确设置, 按照我在前一段中提出的观点。
毕竟如果您仍然要使用反向代理,我建议在代理模式下使用nginx,而不是Varnish和squid。是的,Varnish速度快,速度和nginx一样快,但是你想要做的事情非常简单,当你想要进行复杂的缓存时,Varnish会自己进入,而ESI也是如此。所以保持简单,愚蠢。 nginx确实可以很好地完成你的工作。
我没有Tux的经验,所以我不能发表评论抱歉。
答案 3 :(得分:6)
对于它的价值,我最近在一个6年前的低功耗网络服务器(运行Fedora Core 2)上设置了nginx作为Apache前面的反向代理,该服务器受到轻度DDoS攻击(10K req /秒)。页面加载速度很快(<100ms),系统负载保持低水平,CPU利用率约为20%,内存消耗很少。袭击持续了一周,游客没有看到任何不良影响。
每分钟超过50万次点击持续不错。请务必记录到/ dev / null。
答案 4 :(得分:4)
我们在http://www.mangahigh.com上使用Varnish,并且能够从大约100个并发预清漆扩展到560多个并发后清漆(此时服务器负载保持为0,因此有足够的空间来增长! )。清漆的文档可能会更好,但是一旦你习惯它就会非常灵活。
Varnish比Squid快得多(从未使用过Squid,我不能肯定地说) - 而且http://users.linpro.no/ingvar/varnish/stats-2009-05-19显示Twitter,Wikia,Hulu,perezhilton.com以及其他很多其他大牌也使用它。
答案 5 :(得分:3)
Squid和nginx都是专为此而设计的。 nginx特别容易为服务器场配置,也可以作为FastCGI的前端。
答案 6 :(得分:3)
我只使用鱿鱼而无法比较。我们使用squid缓存美国服务器上的整个站点(所有数据都来自德国的一台机器)。这很容易设置并且运行良好。除非你已经知道要找什么,否则我发现这些文档很缺乏。
答案 7 :(得分:3)
有趣的是,没有人提到Apache Traffic Server(以前称为Yahoo! Traffic Server)http://trafficserver.apache.org/
请看一下它,效果很好。
答案 8 :(得分:2)
由于您已经有apache提供静态和动态内容,我建议您使用Varnish。
通过这种方式,您可以使用apache传递静态内容并使用varnish为您缓存它。 Varnish非常灵活,为您提供缓存和负载均衡功能,以最佳方式发展您的网站。
答案 9 :(得分:1)
我们即将在IIS 6安装前推出一个清漆2.01服务器。我们唯一需要注意的是SSL(因为清漆无法处理SSL)。所以我们还安装了Nginx来处理这些请求。
在我们的所有测试中,我们显示网站可以处理的流量增加了66%。
我唯一的抱怨是清漆不能很好地处理饼干,文档仍然有点分散。
答案 10 :(得分:1)
没有人提到鱿鱼遵循HTTP specification到信(或至少他们试图),而Varnish没有。在我看来,这意味着Varnish更适合缓存单个网站的内容(通过广泛调整Varnish)和Squid更适合缓存许多网站的内容(每个网站都必须根据{{3)使其内容“可缓存” }})。