varnish 4.0 官方文档翻译5-varnish概况

The Big Varnish Picture varnish概况

本节将回答这个问题:“varnish”到底是什么,命名的点点滴滴。

varnish两个主要的部分是在varnisd项目中的两个进程。第一个进程被叫做“the manager”,主要功能是告诉你,系统管理员,发生了什么。

第二个进程被叫做“the worker”或者是“the child”,这个进程是实际处理你http请求的进程。

当你启动varnishd,manager进程启动,一旦manager处理完所有的命令行参数,child进程就开始启动了。如果child进程down掉,manager进程会重启child,自动的,无需干预。

这样设计的主要原因是为了安全考虑,manager为了能监听在80端口,以root运行,但是child进程只需要很小的权限。

manager进程是互动的,提供了CLI-命令行接口,可以手动,脚本以及程序调用。CLI提供Varnish处理HTTP请求的几乎全部控制,同时我们已经竭尽全力,以确保你不应该需要重新启动varnish,除非你需要修改最底层的东西。

CLI是远程访问安全的,使用简单灵活的PSK -- Pre Shared Key,所以很容易集成到你的业务或者绑定到你的CMS

所有的这些都包含在Starting and running Varnish 比如,子进程怎样处理http请求,缓存什么,哪个http头需要移除等等,都是用一个轻量级的变成语言,叫VCL--Varnish配置语言。manager进程将编译VCL程序同时检查是否出错,但是是child进程来运行VCL程序,在处理请求时。

因为VCL编译成C代码,C代码编译成机器指令,因此即便是复杂的VCL程序执行也是毫秒级的,不会对性能产生影响。 如果你不是一个真正的程序员,不要烦恼,VCL是很简单:

sub vcl_recv {
        # Remove the cookie header to enable caching
        unset req.http.cookie;
}

CLI允许你随时编译和加载行的VCL程序,你也可以实时的转换两套程序,不需要重启child进程,同时不会丢失http请求。 VCL代码可以使用VMODs扩展模块来扩展,如果你可以甚至是C代码。因此varnish能对你的http请求做什么,真的是没有限制的。

VCL - Varnish Configuration Language描绘了VCL以及它能详细的做什么 varnish使用共享内存分块的方式报告和记录实时状态。对于每个http请求,大量的详细的记录是追加到log的内存块。其他进程可以查看日志记录,过滤,以Apache/NCSA风格为例。 其他的内存块是用来统计计数的,实时的,精确到毫秒级的监控缓存,资源使用情况以及各项性能指标。 varnish有大量的工具可以使用共享内存,varnishlog,varnishstats,varnishncsa等等,你也可以使用API库编写你自己的工具,只要你需要。 Reporting and statistics 报告和统计 说明所有的工作原理。 对varnish感兴趣的最可能的原因,是你想让你的网站工作的更好。加速一个web站点是有很多方面的。一个简单的策略是使用缓存,设计物理分割的多等级的使用ESI的CDN缓存,宕机自动切换。 Varnish and Website Performance varnish和web站点的性能 最后,Murphys Law 应用:Things will go wrong, and more likely than not, they will do so at zero-zero-dark O‘clock. Most likely during a hurricane, when your phone battery is flat and your wife had prepared a intimate evening to celebrate your anniversary.体会下,事情总会出问题,也比不过,12点的黑暗,飓风的时候,你的妻子准备了一个温馨的晚餐来庆祝你们的纪念日,而你的手机没电了。。。。

时间: 2024-08-26 21:18:04

varnish 4.0 官方文档翻译5-varnish概况的相关文章

varnish 4.0 官方文档翻译-安装varnish

Varnish Installation varnish的安装 本节包含了varnish安装的准备工作,一步一步的安装过程,怎样获取帮助,在哪里寻求帮助,已经怎样报告bug.也包含了帮助你在某些特殊的系统上安装varnish的注意事项. Prerequisites Installing Varnish Source or packages? FreeBSD Red Hat / CentOS Debian/Ubuntu Compiling Varnish from source Build dep

varnish 4.0 官方文档翻译-简要教程

varnish 4.0简要教程 这部分教程包含了varnish基本原理.囊括了什么是varnish.它怎样工作,同时也包含了开始使用和运行varnish.这部分过后你可能想继续了解用户向导(varnish用户引导). 如果你正在web上读这些呢 注意每页左边的Next topic和Previous topic The fundamentals of web proxy caching with Varnish使用varnish作为web代理缓存的原理 Supported platforms 支持

varnish 4.0 官方文档翻译22-Varnish Website Performan

Varnish and Website Performance 本节集中解决如何调优varnish server,同时如何使用varnish优化你的web站点. 一共有三小节.第一小节你应该想到varnish的各种工具和功能,下一小节如何从cache中清除已经缓存的内容.清除内容是一项基本功能,因为它允许给缓存的对象增加 TTL.TTL越大varnish保持在缓存中的时间越久,这意味着varnish处理更多的请求,只将少部分的请求传递到相对较慢的后端. 最后一小节,处理web内容的压缩.当从后端

varnish 4.0 官方文档翻译7-用户手册-重要命令行参数

重要的命令行参数 当启动varnish时有两个重要的参数你必须设置: 一个是处理http请求的tcp监听端口,另一个是处理真实请求的后端server 如果你使用操作系统自带的包管理工具安装的varnish,你将在下面的文件找到启动参数: Debian, Ubuntu: /etc/default/varnish Red Hat, Centos: /etc/sysconfig/varnish FreeBSD: /etc/rc.conf (See also: /usr/local/etc/rc.d/v

varnish 4.0 官方文档翻译17-Misbehaving servers

Misbehaving servers varnish有个关键特性,为misbehaving(行为不端,诡异的)web服务器或者应用服务器提供保护的能力. Grace mode 当几个客户端请求同一个页面的时候,varnish只发送一个请求到后端服务器,然后让其他几个请求挂起并等待返回结果:获得结果后,其它请求再复制后端的结果发送给客户端.有些产品中需要调用其他来将请求合并,而varnish自动做这些. 但如果同时有数以千计的请求,那么这个等待队列将变得庞大,这将导致2类潜在问题: 惊群问题(t

varnish 4.0 官方文档翻译12-VCL

VCL - Varnish Configuration Language 本节包含了怎样通过varnish配置语言vcl来通知varnish如何处理http请求. varnish是高度结构化的系统.大多数其他的系统使用配置指令,在那里你基本上打开和关闭大量的开关.而我们选择使用领域特定语言,被叫做VCL,来完成之前的功能. 每个进入的请求流通过varnish,同时你可以支配如何通过VCL代码来处理请求.你可以让某些后端直接处理请求,你可以改变请求和响应,或者让varnish拥有各种各样动作依赖于

varnish 4.0 官方文档翻译21-Reporting and statistics

Reporting and statistics 本部分包括如何查看Varnish正在做什么,从每个http请求流的详细记录到汇总统计计数器. Logging in Varnish Statistics varnishtop varnishhist varnishstat Logging in Varnish Varnish中一个很棒的特点是工作日志的记录方式.varnish不记录日志到日志文件,而是调用VSL记录到共享内存片段,VSL-varnish共享日志.当这个片段被写完后,varnish

varnish 4.0 官方文档翻译20-Device detection

Device detection 设备检测基于请求中的User-agent找出哪种内容返回给客户端. 使用Device detection情况的一个例子,发送给小屏幕的手机客户端或者复杂的网络环境,减少发送文件的数量,或者提供给不能解码的客户端一个video解码器. 有些使用这种方案的典型场景: 重写url 使用不同的后端给客户端 改变后端请求为了让后端发送裁剪的内容 可能为了便于理解,下文中假定req.http.X-UA-Device头表示当前前客户端,同时每种客户端是唯一的. 简单的像这样设

varnish 4.0 官方文档翻译7-用户手册-安全第一

Security first 安全第一 如果你仅仅抓专注于运行varnish,或者所有人都是这个观点,那么就可以跳过该节了.我们保护你的方方面面当http请求来的时候. 如果你的web基础设施是外包的,管理是分开的,那么你就需要考虑安全了. Varnish在4个权威的等级提供安全,大致关系到怎样让命令生效和在哪儿生效. the command line arguments, the CLI interface, VCL programs, and HTTP requests. Command l