• varnish、squid、apache、nginx缓存的对比<转>


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

    2.Varnish是新兴的一个软件,设计简单,更符合目前互联网的应用,很多公司都采用了varnish这个软件,比如微博的openapi http://open.t.sina.com.cn 。Varnish是基于内存缓存,重启后数据将消失。 

    3.nginx nginx的反向代理缓存是通过一个模块实proxy_cache来实现的,目前这个模块还在完善中,但是很多公司已经开始使用了。 




    群里总是有人在问cache用什么,有varnish,squid,apache,nginx这几种,到底是我们用什么架构cache。 

    1、从这些功能上。varnish和squid是专业的cache服务,而apache,nginx这些都是第三方模块完成。 

    2、要做cache服务的话,我们肯定是要选择专业的cache服务,优先选择squid和varnish。 

    varnish 本身的技术上优势要高于squid,它采用了“Visual Page Cache”技术,在内存的利用上,Varnish比Squid具有优势,它避免了Squid频繁在内存、磁盘中交换文件,性能要比Squid高。 varnish是不能cache到本地硬盘上的。 

    还有强大的通过Varnish管理端口,可以使用正则表达式快速、批量地清除部分缓存 

    squid的优势在于完整的庞大的cache技术资料,和很多的应用生产环境(这应该与squid早出来有关)。 

    3、 谈谈nginx,nginx是用第三方模块ncache做的缓冲,其性能基本达到varnish,但在架构中nginx一般作为反向(静态文件现在用 nginx的很多,并发能支持到2万+)。在静态架构中,如果前端直接面对的是cdn活着前端了4层负载的话,完全用nginx的cache就够了。 

    4、本人觉得如果是在apache服务上提升性能,做一些本地cache是完全可以的,但如果在系统架构中用apache做cache服务,那就有点牛头不对马尾了。 

    测 试结果我们可以发现,varnish > nginx > apache > squid,我想这个结果,根大家预期的结果有点出入,因为squid做老牌文件缓存工具怎么会这么差呢,squid的命中率低,我在网上查了一下,很多 人都是这样的,这个可能根个人配置有关系,也许真正的高手,才能让squid发挥最大功力。

  • 相关阅读:
    [转]Entity Framework 和NHibernate的区别
    NHibernate One Session Per Request简单实现
    memcache和memcached之间的区别
    Memcached 内存分配机制介绍
    linux,apache,php,mysql常用的查看版本信息的方法
    Linux查看文件夹大小
    Linux查看系统配置常用命令
    php 文件缓存(转)
    memcache在xampp下的安装
    通过改进代码将for循环遍历数组提高效率
  • 原文地址:https://www.cnblogs.com/tanglc/p/4423233.html
Copyright © 2020-2023  润新知