varnish运行原理及配置

Varnish作为一个HTTP反向代理和缓存加速器,其工作原理是每个线程处理一个用户请求,线程总数由线程池控制,与物理核心数相关。Varnish支持内存和磁盘缓存,并提供了多种缓存存储类型、配置选项、管理工具如varnishadm。此外,还涉及缓存对象的修剪、后端健康检查、日志区域以及内建函数等关键功能。
摘要由CSDN通过智能技术生成

这里写代码片###### varnish 是squid的升级版,主要应用于http得反向代理和http缓存来提供加速功能

1、varnish工作原理是:是每个线程响应一个用户请求的(某个用户请求到来,accept接收这个请求并分配到某个空闲的worker进程进行处理,

(由worker线程读入缓存根据请求的url,如果能够在缓存中查找到,直接把查找的内容直接响应给客户;如果在缓存中查找不到,就负责到后端服务器查找数据,查找到数据后,根据缓存机制,如果能够缓存,就缓存到本地,再响应给客户端。))

2、varnish能够响应多少用户请求呢?取决于打开线程的总数,用什么来控制线程总数呢??

通过线程池的机制来控制打开多个线程,来响应客户端请求。(一般情况是打开线程池的个数,和物理机的核心数是成正比的。
不能超过物理核心数。)

3、varnish缓存方式:(也可以缓存到内存和磁盘)

缓存数据的存储方式:在缓存空间中固定分配大小的空间,如果要缓存一个数据根据缓存数据的大小来缓存到最接
近缓存数据大小的空间。

varnish的程序环境:
        /etc/varnish/varnish.params: 配置varnish服务进程的工作特性,例如监听的地址和端口,缓存机制;
        /etc/varnish/default.vcl:配置各Child/Cache线程的缓存策略;
主程序:
            /usr/sbin/varnishd
        CLI interface:
            /usr/bin/varnishadm
        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
        Systemd Unit File:
            /usr/lib/systemd/system/varnish.service
                varnish服务
            /usr/lib/systemd/system/varnishlog.service
            /usr/lib/systemd/system/varnishncsa.service 
                日志持久的服务;        
varnish的缓存存储机制( Storage Types):
        -s [name=]type[,options]

        · malloc[,size]
            内存存储,[,size]用于定义空间大小;重启后所有缓存项失效;
        · file[,path[,size[,granularity]]]
            磁盘文件存储,黑盒;重启后所有缓存项失效;
        · persistent,path,size
            文件存储,黑盒;重启后所有缓存项有效;实验;
varnish程序的选项:
程序选项:/etc/varnish/varnish.params文件
            -a address[:port][,address[:port][...],默认为6081端口; 
            -T address[:port],默认为6082端口;
            -s [name=]type[,options],定义缓存存储机制;
            -u user
            -g group
            -f config:VCL配置文件;
            -F:运行于前台;
            ...
 运行时参数:/etc/varnish/varnish.params文件, DEAMON_OPTS
            DAEMON_OPTS="-p thread_pool_min=5 -p thread_pool_max=500 -p thread_pool_timeout=300"
            -p param=value:设定运行参数及其值; 可重复使用多次;
            -r param[,param...]: 设定指定的参数为只读状态; 
重载vcl配置文件:
        ~ ]# varnish_reload_vcl
varnishadm
varnishadm -S /etc/varnish/secret -T [ADDRESS:]PORT
客户端设置
Client Side:
            vcl_recv, vcl_pass, vcl_hit, vcl_miss, vcl_pipe, vcl_purge, vcl_synth, vcl_deliver

vcl_recv:
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值