Varnish概念篇

1,Varnish简介:

Varnish是一款高性能且开源的反向代理服务器和web加速器,与传统的squid相比,varnish具有性能更高,速度更快,管理更加方便等诸多优点,很多大型的网站都开始尝试使用varnish来替换squid,以在相同的服务器成本下提供更好的缓存效果,varnish更是作为CDN缓存服务器的可选服务之一。

挪威的最大的在线报纸Verdens Gang(vg.no) 使用3台Varnish代替了原来的12台squid,性能比以前更好,这是varnish最成功的应用案例。

2,Varnish的特点:

1)是基于内存缓存,重启后数据将消失。
2)利用虚拟内存,io性能好。
3)支持设置0~60秒内的精确缓存时间。
4)VCL配置管理比较灵活。
5)32位机器上缓存文件大小为最大2G。
6)具有强大的管理功能,如果top,stat,admin,list等。
7)状态机设计巧妙,结构清晰。
8)利用二叉堆管理缓存文件,达到积极删除目的

3,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进程一旦Crash或者重启,缓存数据都会从内存中完全释放,此时所有请求都会发送到后端服务器,在高并发情况下,会给后端服务器造成很大压力。

4,varnish的缓存原理

varnish是一个http反向代理的缓存,当varnish接收到客户端的请求时,从缓存中查看是否有数据,如果没有,则varnish去后端(backend servers)获取响应的资源,同时缓存到varnish服务器中,然后返回给客户端;根据规则和请求页面类型选择数据是否缓存,可以根据请求头中Cache-Control判断是否缓存(如private私有缓存),以及cookie是否有标记(如果被标记有cookie的客户端web请求,varnish默认是不缓存),这些都是通过varnish的vcl配置文件定义的内容实现的。

5,varnish架构

Varnish分为master(management)主进程和child子进程;
master主进程:管理和应用新的配置,编译vcl,监控varnish状态,master会每隔几秒钟去探测child进程是否正常运行,如果发现运行异常则重启child进程。

child子进程:
生成线程池,负责对用户请求进行处理,并通过hash查找返回用户结果。常见的线程有:
Accept线程(接受新连接请求并响应)
worker线程(会话,处理请求的资源)
Expiry线程(清理缓存中过期的内容)

6,varnish主要配置部分:

varnish配置主要分为:后端配置,ACL配置,probes配置,directors配置,核心子程序配置几大块。

后端配置:即给varnish添加反代理服务器节点,最少配置一个。
ACL配置:即给varnish添加访问控制列表,可以指定这些列表访问或禁止访问。
probes配置:即给varnish添加探测后端服务器是否正常的规则,方便切换或禁止对应后端服务器。
directors配置:即给varnish添加负载均衡模式管理多个后端服务器。
核心子程序配置:即给varnish添加后端服务器切换,请求缓存,访问控制,错误处理等规则。

原文地址:https://blog.51cto.com/13972012/2475465

时间: 2024-10-15 19:48:18

Varnish概念篇的相关文章

缓存服务器varnish概念篇

一.Varnish 简介 Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang 使用3台Varnish代替了原来的12台Squid,性能比以前更好. Varnish 的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多.在1975年时,储存媒介只有两种:内存与硬盘.但现在计算机系统的内存除了主存外,还包括了CPU内的L1.L2,甚至有L3快取.硬盘上也有自己的快取装置,因此Squid Cac

高性能缓存加速器varnish(概念篇)

高性能缓存加速器varnish(概念篇) 一.varnish简介 varnish是一款高性能的开源HTTP加速器,现在很多门户网站已经部署了varnish,并且反应都很好,甚至反应比squid还稳定,且效率更高,资源暂用更少. 作者Poul-Henning Kamp是FreeBSD的内核开发者之一.Varnish采用全新的软件体系架构,和现在的硬件提交配合紧密.在1975年时,储存媒介只有两种:内存与硬盘.但现在计算 机系统的内存除了主存外,还包括了cpu内的L1.L2,甚至有L3快取.硬盘上也

使用GNS3和Cisco IOU搭建路由交换实验-概念篇

使用GNS3和Cisco IOU搭建路由交换实验-概念篇 说到模拟器,大家一定不会陌生,如大家所熟悉的Hyper-v.VMware和VirtualBox操作系统模拟器(虚拟机)还有常用在Unix和Linux下面的QEMU等模拟器,这些都是面向操作系统为对象的模拟器.另外还有面向街机为对象的街机游戏模拟器.面向网络设备或者网络操作系统为对象的网络模拟器就是我今天要给大家分享的主要对象! 所谓网络模拟器,就是利用计算机软件模拟网络设备实现类似于真实环境的网络设备的互联和配置的软件模拟平台!目前比较流

数据集成之主数据管理(一)基础概念篇

数据集成是当下比較热门的话题,相关的产品和平台也越来越多.非常多CIO都在各种数据集成平台和产品之间犹豫不决.因此对数据集成平台的框架体系有全面的理解,对各个厂家产品所提供的功能有深入的认识才干为数据平台选型的决策提供可靠的保证. 我有幸參与了国内一个知名企业的集成平台的设计工作,并主导了数据集成平台的需求分析和产品选型工作.这次工作中,研究了非常多新的技术方向和产品,以下我主要讲一下数据集成领域的一种新兴的产品平台主数据管理平台MDM(Master Data Management). 主数据的

软考之路(五)---编译原理 概念篇

从组成原理到编译原理,都是相互联系的,学习的知识都是在层层推进,顺利成章的,整个软考的所有的知识都可以从计算机的发展(组成原理)--->软件的开发(软件工程)--->软件的算法设计(数据结构)-->高级语言写的系统--->在计算机上识别(编译原理)--->各个系统的背后数据的支持--->(数据库)---->---网络知识的应用---->网络基础--,可以把整个所有的软考的课本给串起来,这些都是构成现在丰富世界的必不可少的条件. 当然由于机器语言由0.1组成,

【黑金原创教程】 FPGA那些事儿 — 概念篇

前言: 建 模久了,笔者总觉得自己还缺少一种可以从低层(Low Level),至系统层(System Level)再到抽象层(High Level)等贯穿一切的建模技巧.如此执念,间接造就低级建模II的诞生.低级建模II是什么?它是一种建模倾向,也是一种建模技巧.这本<概念篇>是 它的使用手册,内容讲述了相关思想还有方法. <概 念篇>是一本脑洞澎湃的大杂烩,然而点燃这窝猪汤其实是一份情绪.有人经常在笔者耳边洗·脑,说生活就是赚钱买车买楼娶老婆,鬼叫笔者不知道吗?但是人生 赢家不可

ETL学习笔记之概念篇

导读:ETL,Extraction-Transformation-Loading的缩写,即数据抽取(Extract).转换(Transform).装载(Load)的过程,它是构建数据仓库的重要环节. 关键词:ETL 数据仓库 OLTP OLAP ETL,Extraction-Transformation-Loading的缩写,即数据抽取(Extract).转换(Transform).装载(Load)的过程,它是构建数据仓库的重要环节. ETL是将业务系统的数据经过抽取.清洗转换之后加载到数据仓库

红帽集群套件RHCS四部曲(概念篇)

红帽集群套件RHCS四部曲(概念篇)一. 什么是RHCSRHCS是Red Hat Cluster Suite的缩写,也就是红帽子集群套件,RHCS是一个能够提供高可用性.高可靠性.负载均衡.存储共享且经济廉价的集群工具集合,它将集群系统中三大集群架构融合一体,可以给web应用.数据库应用等提供安全.稳定的运行环境.更确切的说,RHCS是一个功能完备的集群应用解决方案,它从应用的前端访问到后端的数据存储都提供了一个行之有效的集群架构实现,通过RHCS提供的这种解决方案,不但能保证前端应用持久.稳定

Entity Framework 4.1/4.3 之一 (概念篇)

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 Entity Framework 4.1/4.3 之一 (概念篇) 前序: 大家好,我都想死你们了.因为我想写个Entity Framework 系列的文章,所以在之一这里我写了下前序,一方面讲一下我写系列文章的出发点,二方面讲一下写的思路.很