文档章节

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

wild-life
 wild-life
发布于 2015/05/09 15:37
字数 1025
阅读 166
收藏 1

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点的黑暗,飓风的时候,你的妻子准备了一个温馨的晚餐来庆祝你们的纪念日,而你的手机没电了。。。。


© 著作权归作者所有

共有 人打赏支持
wild-life
粉丝 16
博文 94
码字总数 56147
作品 0
成都
技术主管
varnish 4.0 官方文档翻译4-varnish用户手册概况

The Varnish Users Guide varnish用户手册 varnish 文档包含三个主要的文档: The Varnish Tutorial 解释一些基本的东西让你开始使用varnish The Varnish Users Guide 说明varnish怎样工作以...

wild-life
2015/05/09
0
0
varnish 4.0 官方文档翻译1-管理员文档

varnish 管理员文档 varnish缓存是web应用加速器,同时也作为http反向缓存代理被人熟知。你可以安装varnish在任何http的前端,同时配置它缓存内容。varnish真的很快,单个代理的分发速度可以...

wild-life
2015/05/09
0
0
varnish 4.0 官方文档翻译3-简要教程

varnish 4.0简要教程 这部分教程包含了varnish基本原理。囊括了什么是varnish、它怎样工作,同时也包含了开始使用和运行varnish。这部分过后你可能想继续了解用户向导(varnish用户引导)。 如...

wild-life
2015/05/08
0
0
varnish权威指南-中文版[PDF]适合新手

Varnish是一种状态艺术,高性能的web加速器,它运行在linux2.6 kernel,freebsd6/7 和solaris 10系统上。 不能上传文件,就只有点击下载了 包含的一些特点: 1、 现代先进的架构设计 2、 VCL,...

蟋蟀哥哥
2012/02/02
3.7K
6
varnish 4.0 官方文档翻译6-用户手册-启动运行文档概况

启动和运行varnish 本节包含了启动,运行,停止varnish,命令行参数,如何与运行着的varnish进程进行通信,配置存储和套接字,安全性和如何保护varnish免受攻击。 Security first 安全第一 ...

wild-life
2015/05/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

arts-week10

Algorithm 905. Sort Array By Parity - LeetCode Review Who’s Afraid of the Big Bad Preloader? 一文读懂前端缓存 一个网络请求3个步骤:请求,处理,响应,而前端缓存主要在请求处响应这两步...

yysue
49分钟前
0
0
00.编译OpenJDK-8u40的整个过程

前言 历经2天的折腾总算把OpenJDK给编译成功了,要说为啥搞这个,还得从面试说起,最近出去面试经常被问到JVM的相关东西,总感觉自己以前学的太浅薄,所以回来就打算深入学习,目标把《深入理...

凌晨一点
今天
4
0
python: 一些关于元组的碎碎念

初始化元组的时候,尤其是元组里面只有一个元素的时候,会出现一些很蛋疼的情况: def checkContentAndType(obj): print(obj) print(type(obj))if __name__=="__main__": tu...

Oh_really
昨天
6
2
jvm crash分析工具

介绍一款非常好用的jvm crash分析工具,当jvm挂掉时,会产生hs_err_pid.log。里面记录了jvm当时的运行状态以及错误信息,但是内容量比较庞大,不好分析。所以我们要借助工具来帮我们。 Cras...

xpbob
昨天
126
0
Qt编写自定义控件属性设计器

以前做.NET开发中,.NET直接就集成了属性设计器,VS不愧是宇宙第一IDE,你能够想到的都给你封装好了,用起来不要太爽!因为项目需要自从全面转Qt开发已经6年有余,在工业控制领域,有一些应用...

飞扬青云
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部