Apache中Varnish缓存

本文详细介绍了Varnish,一款高性能的HTTP加速器,以及如何在Apache上安装和配置Varnish,包括基础概念、安装过程、配置缓存多个网站的方法,以及通过curl检查缓存效果。
摘要由CSDN通过智能技术生成

1、Varnish概述

     Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸Verdens Gang(http://www.vg.no)使用三台Varnish代替了原来的12台squid,性能居然比以前更好。

      Varnish的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂很多;

      在1975年时,储存媒介只有两种:内存与硬盘。但现在计算 机系统的内存除了主存外,还包括了cpu内的L1、L2,甚至有L3快取。硬盘上也有自己的快取装置,因此squid cache自行处理物件替换的架构不可能得知这些情况而做到最佳化,但操作系统可以得知这些情况,所以这部份的工作应该交给操作系统处理,这就是 Varnish cache设计架构。

监听端口号: 6081 -- 在生产上应该去监听80或者443;

官方网站:

https://www.varnish-cache.org/

下载:

http://varnish-cache.org/releases/index.html

 

2、varnish基础概念详解

1、比起squid更加轻量级,大致有以下几个特点:
2、可以 基于内存缓存,也可以在磁盘上缓存
3、如果期望内存大小超过几十个G,比如图片服务器,纯粹使用内存,性能未必好,这时候可以使用磁盘进行缓存,或使用SSD * 2 做RAID1避免磁盘损坏,在实现随机访问上 ssd硬盘要比机械硬盘要好的多,如果必须要缓存在磁盘上还是建议使用ssd磁盘 
4、可以利用虚拟内存方式,IO性能会非常好
5、支持设置 0-60秒 精确缓存时间
 
2.1  支持VCL
其配置是通过vcl编程语言来完成的。   其配置需要先转换成C代码,所以使用vcl所写的配置,要先转换成C语言代码,因此要依赖于GCC 临时的编译vcl配置的,编译完之后才能运行起来
注: Varnish Configuration Language - VCL(varnish配置语言-VCL)。
Varnish使用区域配置语言,这种语言叫做“VCL”(varnish configuration language),在执行vcl时,varnish就把VCL转换成二进制代码。
       VCL文件被分为多个子程序,不同的子程序在不同的时间里执行,比如一个子程序在接到请求时执行,另一个子程序在接收到后端服务器传送的文件时执行。 
 
2.2  独特的日志存储及管理机制
    日志既然保存在内存中,日志可以供多个应用程序所访问,所以一般查看命中率(通过缓存查询的内容),当前请求有多少get post 方法等等,都需使用专用的工具才可以查看,比如varnishshtopvarnishlog 等命令工具用来查看日志信息
 
2.3  支持使用varnish状态引擎
    通过巧妙的状态引擎的设计完成不同的引擎对 用户的请求和缓存代理机制进行处理,用配置文件为状态引擎提供状态法则(分配规则),
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值