高性能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 进程一旦挂起、崩溃或者重启,缓存数据都会从内存中完全释放,此时所有请求都会被发送到后端服务器,在高并发情况下,这回给后端服务器造成很大压力。
高性能HTTP加速器Varnish--基础知识的更多相关文章
- 高性能HTTP加速器Varnish安装与配置(包含常见错误)
Varnish是一款高性能的开源HTTP加速器.挪威最大的在线报纸Verdens Gang使用3台Varnish取代了原来的12台Squid,性能竟然比曾经更好.Varnish 的作者Poul-Hen ...
- 高性能HTTP加速器Varnish安装与配置
导读 Varnish是一款高性能且开源的反向代理服务器和HTTP加速器,它采用了全新的软件体系结构,和现在的硬件体系配合紧密.下面就由我给大家简单说说他的安装与配置. 安装 安装pcre 如果没有安装 ...
- python模块之bsddb: bdb高性能嵌入式数据库 1.基础知识
转自:http://blog.csdn.net/zhaoweikid/article/details/1665741 bsddb模块是用来操作bdb的模块,bdb是著名的Berkeley DB,它的性 ...
- 【STM32H7教程】第55章 STM32H7的图形加速器DMA2D的基础知识和HAL库API
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第55章 STM32H7的图形加速器DMA2D的基 ...
- Magento 架构基础知识概述
Megento 架构基础知识概述 Magento整合了面向对象的基于PHP的应用程序的核心架构原则.这些一般原则的综合讨论既有在线的,也有印刷形式.以下讨论主要关注这些主题如何直接应用于Magento ...
- [转帖]IPC网络高清摄像机基础知识1(IPC芯片市场分析以及“搅局者”华为海思 “来自2013年”)
IPC网络高清摄像机基础知识1(IPC芯片市场分析以及“搅局者”华为海思 “来自2013年”) 2016-06-02 14:23:49 Times_poem 阅读数 9734更多 分类专栏: IPC网 ...
- TCP/IP协议(一)网络基础知识
参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...
- 基于C#的MongoDB数据库开发应用(1)--MongoDB数据库的基础知识和使用
在花了不少时间研究学习了MongoDB数据库的相关知识,以及利用C#对MongoDB数据库的封装.测试应用后,决定花一些时间来总结一下最近的研究心得,把这个数据库的应用单独作为一个系列来介绍,希望从各 ...
- [C# 基础知识梳理系列]专题六:泛型基础篇——为什么引入泛型
引言: 前面专题主要介绍了C#1中的2个核心特性——委托和事件,然而在C# 2.0中又引入一个很重要的特性,它就是泛型,大家在平常的操作中肯定会经常碰到并使用它,如果你对于它的一些相关特性还不是很了解 ...
随机推荐
- Volatile关键字&&DCL单例模式,volatile 和 synchronized 的区别
Volatile 英文翻译:易变的.可变的.不稳定的. 一.volatile 定义及用法 多个线程的工作内存彼此独立,互不可见,线程启动的时候,虚拟机为每个内存分配一块工作内存,不仅包含了线程内部定义 ...
- 【HttpRunner v3.x】笔记 ——1. 环境安装
一.环境说明 HttpRunner 是一个基于 Python 开发的测试框架,可以运行在 macOS.Linux.Windows 系统平台上.笔者使用的是windows系统,所以后续都是基于windo ...
- F - 丘 (欧拉函数)
Chinese people think of '8' as the lucky digit. Bob also likes digit '8'. Moreover, Bob has his own ...
- idea中右击的快捷键都找不到 Diagrams
今天突然发现了一件很恐怖的事情,那就是我的IDEA的右击中找不到Diagrams了,因为我是用这个东西打开 .bpmn文件生成png的,突然没了.. 说一下解决吧 在FIle -> settin ...
- 为什么选择H5游戏开发定制?
为什么选择H5游戏开发定制? 随着微信H5游戏推广带来的显著效果,越来越多的商家已经加入到游戏营销的队伍中来, 对H5小游戏有了解的商家都知道,[模板游戏]的价格往往低于[定制游戏]的价格,可是为什么 ...
- docker下部署jira破解版
1. 制作Docker破解容器 在/opt/jira下新建一个Dockerfile文件 touch Dockerfile 编辑Dockerfile文件 vim Dockerfile FROM cpta ...
- Anaconda是个什么东东?
2020/5/18 一.Anaconda 有什么用? 是一个安装.管理python相关包的软件,还自带python.Jupyter Notebook.Spyder,有管理包的conda工具,非常有用 ...
- 《方法总结》C路的方法发现
C语言方法荟萃 定义一个最大值和最小值:#define max(x,y) ( x>y?x:y ) #define min(x,y) ( x<y?x:y ) &&: 说得 ...
- QQDIV失效补救
{"styleId":22,"bgId":3807,"cardId":3807,"renderInfo":{" ...
- 在思科三层交换机上配置DHCP,不同网段/VLAN间互通
摘要: 描述:在三层交换机上配置DHCP,实现DHCP为PC1/PC3分配192.168.1.X网段:实现DHCP为PC2/PC4分配192.168.2.X网段:并且各个PC间要可以互相通信.(文末附 ...