码迷,mamicode.com
首页 > 其他好文 > 详细

varnish

时间:2017-11-02 21:17:26      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:default   http   代理服务   service   使用   服务   obj   接口   persist   

0.Varnish介绍(配置程序架构,原理)  

Varnish是一款高性能的开源HTTP加速器,具有反向代理,缓存的功能。

技术分享

缓存类型:代理式缓存(递归方式);旁挂式缓存(迭代)

缓存机制:过期机制(Expires)、条件式缓存(通过最近文件修改时间戳Etag的扩展标签来辨别)。

过期时间:Expires
HTTP/1.0
Expires:过期
HTTP/1.1
Cache-Control: maxage=  (私有缓存,单位秒)
Cache-Control: s-maxage=  (共有缓存)

缓存层级:
私有缓存:用户代理附带的本地缓存机制;
公共缓存:反向代理服务器的缓存功能;
条件式请求:
Last-Modified/If-Modified-Since:基于文件的修改时间戳来
判别:Etag/If-None-Match:基于文件的校验码来判别;
User-Agent <--> private cache <--> public cache <--> public cache 2 <--> Original Server

Web Page Cache:squid --> varnish           varnish官方站点: http://www.varnish-cache.org/

缓存空间耗尽:LRU,最近最少使用;
web后台restful简单架构模型

技术分享

应用运维三大日程工作:发布-----变更-----故障处理

程序架构:
Manager进程
Cacher进程,包含多种类型的线程:accept, worker, expiry, ...
shared memory log:统计数据:计数器(处理请求,时间,hit数,miss数);日志区域:日志记录;
varnishlog, varnishncsa, varnishstat...
配置接口:VCL       vcl complier --> c complier --> shared object

varnish的程序环境:
/etc/varnish/varnish.params: 配置varnish服务进程的工作特性,例如监听的地址和端口,缓存机制;
/etc/varnish/default.vcl:配置各Child/Cache线程的缓存策略;
主程序:/usr/sbin/varnishd
CLI interface:/usr/bin/varnishadm     如varnishadm -S  /etc/varnish/secret   -T 127.0.0.1:6082     (默认6082为varnish管理端口)
Shared Memory Log交互工具:
/usr/bin/varnishhist         /usr/bin/varnishlog         /usr/bin/varnishncsa        /usr/bin/varnishstat         /usr/bin/varnishtop
测试工具程序:
/usr/bin/varnishtest
VCL配置文件重载程序:/usr/sbin/varnish_reload_vcl
varnish服务
/usr/lib/systemd/system/varnishlog.service
/usr/lib/systemd/system/varnishncsa.service 日志持久的服务;

varnish工作逻辑

技术分享 

vim  /etc/varnish/varnish.params

技术分享

其中需要把端口改为80 (默认6081),管理地址为本机,管理端口为6082(默认),以varnish身份运行

varnish的缓存存储机制( Storage Types):
· malloc[,size]                     内存存储,[,size]用于定义空间大小;重启后所有缓存项失效;
· file[,path[,size[,granularity]]]      磁盘文件存储,黑盒;重启后所有缓存项失效;
· persistent,path,size      文件存储,黑盒;重启后所有缓存项有效;实验状态;

 

 

   

 

varnish

标签:default   http   代理服务   service   使用   服务   obj   接口   persist   

原文地址:http://www.cnblogs.com/heiye123/p/7774146.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!