首页 > 代码库 > varnish、squid、nginx各自缓存的优缺点

varnish、squid、nginx各自缓存的优缺点

◆Varnish

高性能、开源的反向代理服务器和内存缓存服务器。

优点:  1. 高性能;

        2. 多核支持;

        3. 支持0-60秒的精确缓存时间。

缺点:  1. 不具备自动容错和恢复功能,重启后数据丢失;

        2. 在线扩容比较难。

        3. 32位机器上缓存文件大小为最大2GB;

        4. 不支持集群。

应用场景:并发要求不是很大的小型系统和应用。

Squid

很古老的反向代理软件,拥有传统代理、身份验证、流量管理等高级功能,但是配置太复杂。它算是目前互联网应用得最多的反向缓存代理服务器,工作于各大古老的cdn上。

优点:  1.完整的庞大的cache技术资料。

        2.很多的应用生产环境

Nginx

        1.不支持带参数的动态链接。 

        2.Nginx缓存内部没有缓存过期和清理的任何机制,这些缓存的文件会永久性地保存在机器上,如果要缓存的东西非常多,那就会撑暴整个硬盘空间。

        3.只能缓存200状态码,因此后端返回301/302/404等状态码都不会缓存,假如恰好有一个访问量很大的伪静态链接被删除,那就会不停穿透导致后端承载不小压力

        4.Nginx不会自动选择内存或硬盘作为存储介质,一切由配置决定,当然在当前的操作系统里都会有操作系统级的文件缓存机制,所以存在硬盘上也不需要过分担心大并发读取造成的io性能问题。


总结:


缓存加速(静态加速、节省带宽、边缘推送):Varnish > Squid >Nginx

反向代理(路由加速、隐藏主节点):Nginx > Varnish > Squid

本文出自 “11849650” 博客,谢绝转载!

varnish、squid、nginx各自缓存的优缺点