一、 Varnish概述
 Varnish是一款高性能且开源的反向代理服务器和HTTP 加速器,它的作者Poul-Henning Kamp是FreeBSD核心的开发人员之一,Varnish采用全新的软件体系机构,和现在的硬件体系配合紧密。作者认为现在的电脑比起1975年已经复杂许多。在1975年时,储存媒介只有两种:内存与硬盘。但现在计算机系统的内存除了主存外,还包括CPU内的L1、L2,甚至有L3快取。硬盘上也有自己的快取装置,因此Squid Cache自行处理物件替换的架构不可能得知这些情况而做到最佳化,但操作系统可以得知这些情况,所以这部份的工作应该交给操作系统处理,这就是 Varnish cache设计架构。
挪威最大的在线报纸 Verdens Gang(vg.no)使用3台Varnish代替了原来的12台squid,性能比以前更好,这是Varnish最成功的应用案例,目前,Varnish可以在FreeBSD6.0/7.0、solaris、 Linux2.6内核上运行。本章主要介绍Varnish在Linux下面的应用和案例。
二、 Varnish的结构与特点
 Varnish是一个轻量级的Cache和反向代理软件,先进的设计理念和成熟的设计框架是Varnish的主要特点,现在的Varnish总共代码量不大,功能上虽然在不断改进,但是还需要继续丰富和加强。下面总结了Varnish的一些特点:
(1)是基于内存缓存,重启后数据将消失。
(2)利用虚拟内存方式,io性能好。
(3)支持设置0~60秒内的精确缓存时间。
(4)VCL配置管理比较灵活。
(5)32位机器上缓存文件大小为最大2G。
(6)具有强大的管理功能,例如top,stat,admin,list等。
(7)状态机设计巧妙,结构清晰。
(8)利用二叉堆管理缓存文件,达到积极删除目的。
三、 Varnish与Squid的对比
 说到Varnish,不能不提Squid,Squid是一个高性能的代理缓存服务器,它和varnish之间有诸多的异同点,这里分析如下:
下面是他们之间的相同点:
(1)都是一个反向代理服务器,
(2)都是开源软件,
下面是它们的不同点,也是Varnish的优点:
(1)Varnish的稳定性很高,两者在完成相同负荷的工作时,Squid服务器发生故障的几率要高于Varnish,因为使用Squid要经常重启。
(2)Varnish访问速度更快,Varnish采用了“Visual Page Cache”技术,所有缓存数据都直接从内存读取,而squid是从硬盘读取,因而Varnish在访问速度方面会更快。
(3)Varnish可以支持更多的并发连接,因为Varnish的TCP连接释放要比Squid快。因而在高并发连接情况下可以支持更多TCP连接。
(4)Varnish可以通过管理端口,使用正则表达式批量的清除部分缓存,而Squid是做不到的。
当然,与传统的Squid相比,Varnish也是有缺点的,列举如下:
(1)varnish在高并发状态下CPU、IO、内存等资源开销都高于Squid。
(2)varnish进程一旦Hang、Crash或者重启,缓存数据都会从内存中完全释放,此时所有请求都会发送到后端服务器,在高并发情况下,会给后端服务器造成很大压力。

高性能HTTP加速器Varnish(概念篇)相关推荐

  1. 高性能HTTP加速器Varnish(安装配置篇)

    一.安装Varnish Varnish的安装非常简单,下面逐步介绍: 1.安装前的准备  Varnish安装环境如下表1所示: 表1 主机名              操作系统             ...

  2. 高性能HTTP加速器Varnish(性能调优篇)

    varnish是否能稳定.快速的运行,与Linux本身的优化以及varnish自身参数的设置有很大关系,在varnish安装配置完成后,还必须从操作系统和varnish配置参数两个方面对varnish ...

  3. 高性能HTTP加速器Varnish(管理维护篇)

    一.varnishd指令 Varnish启动的命令是/usr/local/varnish/sbin/varnishd,此命令参数较多,用法比较复杂,在命令行执行"/usr/local/var ...

  4. 高性能HTTP加速器varnish实践

    一,varnish介绍及特点 varnish是一款高性能的.轻量的.开源的反向代理服务器和HTTP加速器.Varnish代码量不大,先进的设计理念和成熟的设计框架是它的主要特征.目前在缓存工具的选择上 ...

  5. Varnish高性能开源HTTP加速器:Varnish Nginx和Varnish Apache搭建配置

    Varnish是一款高性能的开源HTTP加速器,一般用来和Nginx.Apache等搭配使用,组建一个高效率的Web服务器.Varnish的某个负责接受新HTTP连接的线程开始等待用户,如果有新的HT ...

  6. Linux负载均衡软件LVS(概念篇)

    Linux负载均衡软件lvs(概念篇) 一.LVS简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器,是一个由章文嵩博士发起的自由软件项目,它的官方站点是(www ...

  7. ORM查询语言(OQL)简介--概念篇

    相关文章内容索引: ORM查询语言(OQL)简介--概念篇 ORM查询语言(OQL)简介--实例篇 ORM查询语言(OQL)简介--高级篇:脱胎换骨 ORM查询语言(OQL)简介--高级篇(续):庐山 ...

  8. android 电容屏(二):驱动调试之基本概念篇

    关键词:android  电容屏 tp 工作队列 中断 多点触摸协议 平台信息: 内核:linux2.6/linux3.0 系统:android/android4.0  平台:S5PV310(sams ...

  9. 高性能WEB开发 - HTTP服务器篇

    高性能WEB开发 - HTTP服务器篇 新产品为了效果,做的比较炫,用了很多的图片和JS,所以前端的性能是很大的问题,分篇记录前端性能优化的一些小经验. 第一篇:HTTP服务器 因tomcat处理静态 ...

最新文章

  1. python特性(八):生成器对象的send方法
  2. 宝宝都能看懂的机器学习世界
  3. Linux下CMake简明教程(六)动态库和静态库的编译控制
  4. 怎么快速看完700页的论文呢?
  5. 【报告分享】bilibili2020年营销通案:激活年轻营销力.pdf(附下载链接)
  6. 什么是分布式微服务架构?-开课吧
  7. 互联网后端技术栈大全,建议收藏!
  8. k2运营商服务器无响应,【求救】K2提示“等待PPP客户端连接”拨号失败
  9. 百度网盘客户端终于解除限速啦
  10. windows系统安全
  11. 运用java画时钟_使用Swing绘制动态时钟
  12. 含有一个量词的命题的否命题_第三节:简单的逻辑联结词、全称量词与存在量词...
  13. 复杂网络 社交网络_通过角色的动态社交网络探索哈利·波特
  14. 齐次线性方程组、齐次方程、齐次多项式
  15. 1024分论坛:人工智能创新应用的优化实践和多产业落地
  16. 门禁系统布线的十点注意事项
  17. 自动驾驶技术之——被低估的传感器超声波雷达
  18. Python3 调用谷歌翻译
  19. AI|再聊决策树模型
  20. 汉字转换拼音或拼音首字母

热门文章

  1. 基于python和opencv的人脸识别
  2. 异常检测3——AutoEncoder异常检测
  3. centos/Linux 解决使用sudo命令时xxx is not in the sudoers file.This incident will be reported
  4. kafka单机模式删除某一个topic的数据,并解决Topic xxxx is marked for deletion....报错
  5. pycharm 修改默认的注释风格(reStructuredText风格、Google风格、Numpy风格)
  6. python四中方法获取列表中最大/最小的前n个数值的位置索引
  7. java 字典 引用_java中数据字典的使用
  8. Django 模板中 变量 过滤器 标签 的使用方法
  9. 使用bat执行java项目
  10. 我如何将亿次的计算降为实时