Varnish的一个关键特色就是它有能力防御 web和应用服务器宕机。
Grace mode
当几个客户端请求同一个页面的时候,varnish只发送一个请求到后端服务器,然后让那个其他几个请求挂起等待返回结果,返回结果后,复制请求的结果发送给客户端。
如果您的服务每秒有数千万的点击率,那么这个队列是庞大的,没有用户喜欢等待服务器响应。为了使用过期的 cache 给用户提供服务,我们需要增加他们的 TTL,保存所有cache 中的内容在 TTL过期以后30 分钟内不删除,使用以下VCL:

sub vcl_fetch {set beresp.grace = 30m;
}
Varnish 还不会使用过期的目标给用户提供服务,所以我们需要配置以下代码,在cache过期后的15 秒内,使用旧的内容提供服务:
sub vcl_recv {set req.grace = 15s;
}

你会考虑为什么要多保存过去的内容 30 分钟?当然,如果你使用了健康检查,你可以通过健康状态设置保存的时间:

if (! req.backend.healthy) {set req.grace = 5m;
} else {set req.grace = 15s;
}

Saint mode
有时候,服务器很古怪,他们发出随机错误,您需要通知 varnish 使用更加优雅的方式处理它,这种方式叫神圣模式(saint mode)。Saint mode允许您抛弃一个后端服务器或
者另一个尝试的后端服务器或者 cache中服务陈旧的内容。让我们看看 VCL中如何开启这个功能的:

sub vcl_fetch {if (beresp.status == 500) {set beresp.saintmode = 10s;restart;}set beresp.grace = 5m;
}

当我们设置 beresp.saintmode 为 10 秒,varnish 在 10 秒内将不会访问后端服务器的这个 url。如果有一个备用列表,当重新执行此请求时您有其他的后端有能力提供此服务内容,varnish会尝试请求他们,当您没有可用的后端服务器,varnish将使用它过期的 cache提供服务内容。
它真的是一个救生员。
God mode

varnish关于Grace mode和Saint mode这两中模式配置相关推荐

  1. 嵌入式davinci电路元素基础和PWM模块

    1,DAC_OUT和DAC_OUTB是AD9912输出的差分信号. 2,电容器储存电荷的能力,常用的单位是F.uF.nF.pFUF大了好还是UF小了好,要根据电路自身需要而设计, 要看电路滤波是在高频 ...

  2. Varnish的优雅模式和神圣模式

    一.Grace mode(优雅模式) 为什么使用Grace mode ,优雅模式的优点是什么? 如果你每秒需要相应成千上万的点击,等待的请求队列就会很巨大.这里有两个潜在问题:一个是thunderin ...

  3. Varnish缓存代理简介与配置

    一.varnish原理: 1)Varnish简介: varnish缓存是web应用加速器,同时也作为http反向缓存代理.你可以安装varnish在任何http的前端,同时配置它缓存内容.与传统的 s ...

  4. Varnish页面缓存服务

    一.缓存相关概念简述 时间局部性:一个数据被访问过之后,可能很快会被再次访问到: 空间局部性:一个数据被访问时,其周边的数据也有可能被访问到 数据缓存:例如MySQL到web应用服务器之间的缓存服务器 ...

  5. Tomcat服务器 Varnish代理服务器

    Tomcat服务器 概述 Java简介 Java是一种跨平台的,面向对象的程序设计语言,Java技术具有卓越的通用性,高效性,平台移植性和安全性 体系 Java  SE (标准版) Java  EE ...

  6. Linux运维 第三阶段 (十八) varnish

    Linux运维 第三阶段 (十八) varnish 数据: 结构化数据,RDBMS: 非结构化数据,FS,存海量小文件,NAS.SAN.DFS可提供较好的性能: web cache: 程序具有局部性( ...

  7. Varnish的相关知识,varnish的简单应用

    Varnish是一款高性能的缓存加速器,具有稳定,且效率更高,资源占用更少等特点. 缓存存储的格式: key-value: key:访问路径,URL, hash value:web content 命 ...

  8. Linux+varnish安装配置

    1.Varnish简介 Varnish是一款高性能且开源的反向代理服务器(Reverse Proxy Server),挪威最大的线上报纸Verdens Gang使用3台Varnish代替了原本的12台 ...

  9. CentOS下使用Varnish为网站加速

    1 varnish概述 2 安装varnish 3 varnish 缓存原理 4 实战:缓存一个网站 5 实战:使用varnish缓存多个网站 1 varnish概述 Varnish是一款高性能的开源 ...

最新文章

  1. oracle 存储过程的基本语法
  2. 怎么学操作系统和计算机网络?
  3. Drupal 通过API动态的添加样式文件
  4. 如何使用 C# 中的 HashSet
  5. TensorFlow多层感知机实现MINIST分类
  6. Java反序列化漏洞通用利用分析
  7. activiti 条件表达式json报错_json模块和pickle模块
  8. pythonfilelist_Python 列表list使用介绍
  9. 基于 Spark推荐 系统应用 现 状
  10. linux 锐捷客户端登录密码,Linux使用经验_使用锐捷客户端登录校园网
  11. Autojs4脚本大合集(薅羊毛专业版的脚本)
  12. ▶国务院关于延长中秋国庆放假至10天的通知
  13. 数学建模神经网络模型,数学建模神经网络算法
  14. Newline required at end of file but not found
  15. [附源码]java毕业设计家政管理系统
  16. ESP8266人体感应项目
  17. mysql inet aton ipv6_mysql 使用inet_aton和inet_ntoa处理ip地址数据
  18. 【计算机毕业设计】java 微信小程序商城系统的设计与实现
  19. unity射线检测高速飞行的子弹是否打到敌人
  20. 熊猫烧香作者李俊抓捕实录-读后感

热门文章

  1. java 蓝桥杯 Huffuman树
  2. MySQL越高版本越快吗_MySQL性能优化的最佳20+条经验
  3. pdo_mysql未安装_php pdo_mysql未安装问题解决方法
  4. python多进程运行MIC(最大信息系数)
  5. python使用正则化预处理数据
  6. c语言指针填空题目,C语言指针题目实战
  7. 2018.12.11——全局变量与局部变量
  8. 04-Bootstrap的插件
  9. Oracle 获取月初和月末
  10. [mount]linux 挂载时 mount: wrong fs type, bad option, bad superblock on /dev/sdb