VCL
varnish 是使用 VCL (Varnish Configuration Language) 处理 HTTP 流的,这种语言非常灵活强大与简洁,它从C语言那里继承了很多东西,阅读起来很像C 和 Perl。
Note: 它包含逻辑判断,但不包含任何循环和跳转
这里不打算对VCL 进行详述,一是我自己还没有完全玩转,免得误人子弟 ; 二是这小篇幅也没法有多深入的讲解;三是这种类型的语言都可以在不明白时翻阅手册 ,只用熟悉用到的部分,不必求全解
Varnish Configuration Language
常用命令浅析
##varnishhist
能产生下列效果的统计直方图
代码语言:javascript复制1:1, n = 35 h101.temp
#
#
#
#
#
#
#
#
##
##
##
##
##
###
###
####
###### #
------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- -------------
|1e-6 |1e-5 |1e-4 |1e-3 |1e-2 |1e-1 |1e0 |1e1 |1e2
##varnishlog
可以产生如下效果的日志
代码语言:javascript复制[root@h101 varnish]# varnishlog
* << BeReq >> 32778
- Begin bereq 32777 pass
- Timestamp Start: 1440000640.182108 0.000000 0.000000
- BereqMethod GET
- BereqURL /
- BereqProtocol HTTP/1.1
- BereqHeader Host: 192.168.100.101
- BereqHeader Cache-Control: max-age=0
- BereqHeader Accept: text/html,application/xhtml xml,application/xml;q=0.9,image/webp,*/*;q=0.8
- BereqHeader User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36
- BereqHeader Accept-Encoding: gzip, deflate, sdch
- BereqHeader Accept-Language: zh-CN,zh;q=0.8
- BereqHeader Cookie: first_visit_at=MZ8nL61DZHxgLUi1N9QnvNijBJkkjMLa
; Hm_lvt_7263598dfd4db0dc29539a51f116b23a=1439995511; Hm_lpvt_7263598dfd4db0dc29539a51f116b23a=1439996815
- BereqHeader If-None-Match: "c7ea0cef94d50d04d8974eae94b6eb25"
- BereqHeader X-Forwarded-For: 192.168.100.1
- BereqHeader X-Varnish: 32778
- VCL_call BACKEND_FETCH
...
...