varnish / squid / nginx cache 有什么不同

来源:互联网 发布:背字典知乎 编辑:程序博客网 时间:2024/06/05 22:53

毛伟,什么都略懂一点,生活就多彩一些

you chang、夏小草、Shaopeng Ju 等人赞同
squid是缓存服务器科班出生
varnish是觉得squid性能不行,纯内存缓存服务器方案
nginx cache是属于不务正业,得益于nginx强大的性能
发布于 2013-03-20 2 条评论       
 

深蓝加菲,混在IPTV / OTT / CDN,盯着云计算

abao double、玮奇、刘一刁 等人赞同
SQUID 是功能最全面的,但是架构太老,性能不咋的
Varnish 是内存缓存,速度一流,但是内存缓存也限制了其容量,缓存页面和图片一般是挺好的
Nginx 本来是反向代理/web服务器,用了插件可以做做这个副业,但是本身不支持特性挺多
ATS 目前是一个不错的选择

BTW, 这个可以看看 
Q&A with Varnish Software on Comcast & Apple CDN

下面的表格来自《Apache Traffic Server HTTP Proxy Server on the Edge》

下面的图片来自 INFOQ 的演示,记在笔记里一下子找不到来源,有知道的筒子提醒一下
编辑于 2014-08-24 1 条评论       
 

Astrum

夏小草、鲍牙叔、fleuria 等人赞同
varnish 是纯内存实现说法不准确

squid 越俎代庖自己实现了一套内存页/磁盘页的管理系统,但这个虚拟内存swap其实linux内核已经可以做得很好,squid的多此一举反而影响了性能

而varnish的内存管理完全交给内核,当缓存内容超过内存阈值时,内核会自动将一部分缓存存入swap中让出内存。以挪威一家报社的经验,1台varnish可以抵6台squid的性能。

nginx cache如知友所说更适合缓存纯文本体积较小的内容,不过如果对nginx框架理解够深,在其上搭建一个山寨varnish不是难事。
编辑于 2013-03-28 2 条评论       
 

刘一刁,正在加载...

夏小草、Shaopeng Ju、John Zhao 等人赞同
1. Squid功能全而大,适合于各种静态的文件缓存,国内的top2CDN厂商是基于拿squid做的商业改造,但受限于仅支持单进程(虽然squid3.2也开始支持SMP了:wiki.squid-cache.org/Fe),因此一般会在前端挂一个HAProxy或nginx做负载均衡跑多个实例。
2.Varnish由于是内存cache,所以对小文件如css,js,小图片啥的支持很棒,sina的就是用的varnish,后端的持久化缓存可能采用的是squid或ats
3.nginx的代理功能只是它的一个模块功能,功能相对前两者目前还完全无法替代,但未来充满期待。
4.还有apache trafficserver,专业的代理,相对squid,这货支持多cpu,国内阿里的,youku,sina等厂商都在用,感兴趣可以去Apache Traffic Server 看看
编辑于 2014-02-20 添加评论       
 

mysqlops,数据库领域专心吃草、挤奶和耕地的牛,技…

鲍牙叔 赞同
varnish不懂,也就不google了,请LZ自己google下

quid 可以用于缓存更多更大的内容,属于专业用语缓存的功能,比如尤其适合缓存图片、文档等;
nginx Cache是为了提供访问最频繁资源的缓存而已,适合缓存少量页面资源,主业是提供Web 服务与代理的作用,若是Cache内容过多容易造成性能瓶颈与负载过大.
编辑于 2012-03-28 添加评论       
 

宋兴茂,python IT

九州 赞同
squid支持正向代理缓存,而这方面varnish、nginx cache、ATS 做不到
发布于 2014-08-22 添加评论       
 

伍鹰,教育行业 开发

varnish用来做网站和小文件的缓存,相当给力的,做图片cache之类的合适 [水货DBA]
发布于 2012-05-24 添加评论       
 
0 0