高性能HTTP加速器Varnish(概念篇)

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













本文转自南非蚂蚁51CTO博客,原文链接:http://blog.51cto.com/ixdba/676480 ,如需转载请自行联系原作者




相关文章
|
缓存 负载均衡 网络协议
60 # http 的基本概念
60 # http 的基本概念
76 0
|
8月前
|
缓存 自然语言处理 前端开发
第一章 引言-HTTP协议基础概念和前后端分离架构请求交互概述
第一章 引言-HTTP协议基础概念和前后端分离架构请求交互概述
164 0
|
8月前
|
缓存 负载均衡 应用服务中间件
如何在 CentOS 7 上为 NGINX 安装开源 HTTP 加速器:Varnish
如何在 CentOS 7 上为 NGINX 安装开源 HTTP 加速器:Varnish
195 1
如何在 CentOS 7 上为 NGINX 安装开源 HTTP 加速器:Varnish
|
8月前
|
存储 安全 Java
从HTTP到Tomcat:揭秘Web应用的底层协议与高性能容器
从HTTP到Tomcat:揭秘Web应用的底层协议与高性能容器
|
缓存 Ubuntu Linux
百度搜索:蓝易云【Varnish开源HTTP反向代理缓存服务器、部署安装、测试】
通过按照上述步骤部署和配置Varnish,您可以将其作为反向代理缓存服务器来提高Web应用程序的性能和响应速度。记住,在实际部署中,您可能需要进一步调整Varnish的配置以满足您的具体需求。
99 2
|
XML 缓存 安全
Web-Http基本概念(请求与响应)
Web-Http基本概念(请求与响应)
166 0
|
缓存 Linux 开发者
百度搜索:蓝易云【Varnish开源HTTP反向代理缓存服务器、部署安装、测试。】
通过以上步骤,你可以成功部署和安装Varnish,并对Web应用程序进行测试。请根据具体需求进行适当的配置和调整,以确保Varnish能够按预期工作并提升Web应用程序的性能。
78 0
|
存储 域名解析 安全
计算机网络面试专题:HTTP协议基本概念以及通信过程
计算机网络面试专题:HTTP协议基本概念以及通信过程、HTTPS基本概念、SSL加密原理、通信过程、中间人攻击问题、HTTP协议和HTTPS协议区别
120 1
|
安全 网络协议 数据格式
HTTP的概念以及请求消息的数据格式
HTTP的概念以及请求消息的数据格式
73 0
|
网络协议 算法 安全
龙蜥白皮书精选:面向 HTTP 3.0 时代的高性能网络协议栈
ExpressUDP 利用龙蜥 OS 在业界首次实现了 virtio_net 的发送方向的零拷贝。