zoukankan      html  css  js  c++  java
  • varnish简介

    varnish架构图:

    Manager进程:编译VCL并应用新配置;监控vanish;初始化varnish;CLI接口

    Child/cache子进程:

        Acceptor:接收新的连接请求

        worker threads:处理用户请求

        Expiry:清理缓存中的过期对象

        Log:共享内存日志大小默认一般为90MB,分为两部分,前一部分为计数器,后一部分请求相关的数据

    vcl: Varnish Configuration Language  (1)缓存策略配置接口; (2)基于“域”的简单编程语言

    基于worker threads工作,假如并发1000个请求, child进程只能生成500个线程(worker threads),那就需要manager来启动

    两个child进程,每个进程生成500个worker threads

      安装varnish,由于centos6上的版本过旧,我选择安装centos7上的epel源上的varnish

    yum -y install epel-release          yum -y install varnish

    查看varnish安装了哪些包:rpm -ql varnish

    varnish的主配置文件:/etc/varnish/default.vcl

    varnish如何存储缓存对象

        file: 单个文件;不支持持久机制

        malloc: 内存

        persistent:基于文件的持久存储(仍处于试验阶段)

    配置varnish的三种应用

        1.varnishd应用程序的命令行参数:通过读取/etc/varnish/varnish.params文件

            定义varnish主程序的工作特性

        2.-p选项指明的参数,运行时参数:也可在程序运行中,通过其CLI进行配置

            定义varnish各子进程或线程工作特性

        3、vcl:配置缓存系统的缓存机制,通过vcl配置文件进行配置,先编译,后应用,依赖于c编译器

            指明线程中缓存功能的工作机制

            

    /etc/varnish/varnish.params文件说明

     

    VARNISH_LISTEN_PORT=6081  指定varnish服务监听的端口

    VARNISH_ADMIN_LISTEN_PORT=6082  指定varnish管理监听的端口

    VARNISH_SECRET_FILE=/etc/varnish/secret  varnish密钥文件存放位置

    VARNISH_STORAGE="file,/var/lib/varnish/varnish_storage.bin,1G"  varnish的缓存机制,以及缓存大小

    VARNISH_TTL=120  与后端服务器连接的超时时间

    /etc/varnish/default.vcl配置文件说明

    backend default  指定后端服务器

    varnish的管理工具:

    varnishadm -S /etc/varnish/secret -T 127.0.0.1:6082  连入本机

    获取命令帮助使用help命令

    连入后可以使用ping命令探测主机是否在线:

    成功!

    还可以使用status命令查看子进程是否ok

    成功!

    start和stop是用来启动和停止子进程的

    vcl.list  列出所有可用的vcl文件

    0表示数字编号,boot表示varnish启动加载此文件,前面的active表示此配置文件正在被vanish加载使用

    vcl.use表示使用哪个编译好的vcl文件,注意先得编译,才能使用

    vcl.load编译加载哪个vcl文件

    vcl.discard丢弃一个vcl文件

    vcl.show 显示一个文件编译前的样子

    param.show显示运行时的参数

    param.set 设置运行时的参数,例如:param.set thread_pools 4

    param.show 显示运行时的参数,也可显示单个参数,例如:param.show thread_pools

    panic.show 显示子进程是否有panic信息

    panic.clear  清除panic信息

    backend.list  显示后端服务器列表

    ban 清理缓存中的缓存对象

    varnishncsa查看日志信息

    varnishstat查看统计信息

  • 相关阅读:
    质因数分解
    P1939 【模板】矩阵加速(数列)
    UVALive
    Python操作MySQL:pymysql模块
    Mysql数据库基础
    Redis管道和发布订阅
    Redis常用操作
    Redis操作集合,有序集合
    Redis操作list
    Redis操作hash
  • 原文地址:https://www.cnblogs.com/linuxboke/p/5503029.html
Copyright © 2011-2022 走看看