Varnish常用相关命令工具
varnishd启动
./varnishd -f /usr/local/varnish-3.0.2/etc/varnish/default.vcl -s malloc,1G -T 127.0.0.1:2000 -a 0.0.0.0:80
// 此处的80端口是varnish工作的监听端口
-f /usr/local/varnish-3.0.2/etc/default.vcl
这个 –f 选项指定 varnishd 使用哪个配置文件。
-s malloc,1G
这个 –s 选项用来确定 varnish 使用的存储类型和存储容量,我使用的是 malloc 类型(malloc 是一个 C
函数,用于分配内存空间) 1G 定义多少内存被 malloced,1G =1gigabyte。 也可以采用文件类型 -s
file,/var/lib/varnish/varnish_storage.bin,1G
-T 127.0.0.1:2000
Varnish
有一个基于文本的管理接口,启动它可以在不停止 varnish 的情况下来管理
varnish。可以指定管理软件监听哪个接口。当然不能让所有人都能访问您的varnish 管理接口,因为他们可以很轻松的通过访问varnish
管理接口来获得 root 访问权限。推荐只让它监听本机端口。
-a 0.0.0.0:80
varnish 监听所有 IP 发给 80 端口的 http 请求,正常网站对外http访问端口为80
VarnishAdm
管理平台,在这里可以通过help 查看所有管理控制台上可执行的命令,如清除指定url的缓存ban命令
// telnet 127.0.0.1 2000
ban.url test.php//清除该url缓存
ban.url .*//清除所有的
/opt/varnish/bin/varnishadm -T 127.0.0.1:2000 ban "req.http.host ~ www.abc.com$ && req.url ~ /image/test.jpg"
说明:
www.abc.com //为被清除的域名
/image/test.jpg //为被清除的 url 地址列表
清除所有缓存
/opt/varnish/bin/varnishadm -T 127.0.0.1:2000 ban.url *$
清除 image 目录下所有缓存
/opt/varnish/bin/varnishadm -T 127.0.0.1:2000 ban.url test.php.url /images
Varnishtop
这个工具用于读取共享内存的日志,适当使用一些过滤选项如-I,-i,-X和-x,可以连续不断地显示大部分普通日志。
Varnishtop可以按照使用要求显示请求的内容、客户端、浏览器等一些其他日志里的信息。比如:
使用varnishtop -i rxurl查看客户端请求的url次数;
使用Varnishtop -i txurl查看请求后端服务器的url次数;
使用Varnishtop -i Rxheader -I Accept-Encoding查看接收到的头信息中有多少次包含
Accept-Encoding。
Varnishhist
用于读取Varnishd共享内存段的日志,并生成一个连续的柱状图。Varnishhist用于显示最后N个请求的处理情况。
如果缓存命中则标记"|",如果缓存没有命中则标记"#"符号。
Varnishsizes
Varnishsizes和Varnishhist相似,可以查看服务对象的大致大小。
Varnishstat
用于查看Varnish计数丢失率、命中率、存储信息、创建线程、删除对象等。
Varnishlog
当您需要鉴定哪个URL被频繁的发送到后端服务器,您可以通过varnishlog对请求做一个全面的分析。
varnishlog –c –o /foo/bar 这个命令将告诉您所有(-o)包含”/football/bar”字段来自客户端
varnishncsa
Varnishncsa 工具读取共享内存的日志,然后以 apache/NCSA 的格式显示出来。下面的选项可以用
-w file file 把日志写到一个文件里代替显示他们,如果不是用 -a参数就会发生覆盖,如果 varnishlog在写日志
时,接收到一个SIGHUP信号,他会创建一个新的文件信号,老的文件可以移走
varnishncsa -w /var/lib/varnish/varnish.log 将varnishlog 保存在一个文本文件里
curl
系统命令查看varnish缓存效果与状态
curl -I http://www.xxx.com