• 高性能HTTP加速器Varnish--基础知识


    一、Varnish 概述

          Varnish 是一款高性能且开源的反向代理服务器和HTTP加速器,它的开发者 Poul-Henning Kamp 是 FreeBSD 核心的开发人员之一。

          与传统的 Squid 相比, Varnish 具有性能更高、速度更快、管理更方便等诸多优点,很多大型的运营网站都开始尝试用 Varnish 来替换 Squid。

    二、Varnish 的结构与特点

          Varnish 是一个轻量级的 Cache 和反向代理软件。

          Varnish 的一些特点,如下:

      • 基于内存进行缓存,重启后数据将消失。
      • 利用虚拟内存方式,I/O性能好。
      • 支持设置 0 ~ 60 秒的精确缓存时间。
      • VCL 配置管理比较灵活。
      • 32 位机器上缓存文件大小为最大 2GB。
      • 具有强大管理功能,例如 top、stat、admin、list等。
      • 状态机设计巧妙,结构清晰。
      • 利用二叉堆管理缓存文件,可达到积极删除目的。

    三、Varnish 与 Squid 的对比

          Squid 是一个高性能的代理缓存服务器,它和 Varnish 相比较有诸多的异同点。

          相同点

      • 都是一个方向代理服务器。
      • 都是开源软件。

          不同点

      • Varnish 的稳定性很高。两者在完成相同负荷的工作时,Squid 服务器发生故障的几率要高于 Varnish,因为 Squid 需要经常重启。
      • Varnish 访问速度更快。Varnish 采用了“Visual Page Cache” 技术,所有缓存数据都直接从内存读取,而 Squid 是从硬盘读取缓存数据,因此 Vairnsh 在访问速度方面会更快。
      • Varnish 可以支持更多的并发连接。因为 Varnish 的TCP链接释放要比 Squid 快,所以在高并发连接情况下可以支持更多的 TCP 连接。
      • Varnish 可以通过管理端口,使用正则表达式批量清除部分缓存,而 Squid 做不到。

          Varnish 的缺点:

      • Varnish 在高并发状态下 CPU、I/O 和内存等资源开销都高于 Squid。
      • Varnish 进程一旦挂起、崩溃或者重启,缓存数据都会从内存中完全释放,此时所有请求都会被发送到后端服务器,在高并发情况下,这回给后端服务器造成很大压力。
  • 相关阅读:
    快速整理sql表结构到wiki
    mac subline批量处理行
    iphone7忘记手机屏幕密码
    docker 常用命令
    初窥响应式布局
    用jquery写的一个图片轮播插件
    javascript中的对象和创建对象的主要模式
    用户注册界面(带js特效)
    用javascript实现简易留言板
    用javascript实现的购物车实例
  • 原文地址:https://www.cnblogs.com/morgan363/p/11929371.html
Copyright © 2020-2023  润新知