varnishlog、Varnishstat详解

时间:2018-06-24 14:59:31   收藏:0   阅读:338

Varnish将日志记录到共享内存片段,而不是记录到一个普通文件中。当记录到内存片段的最后处,会再从头开始记,覆写老数据。这比记录到文件要快的多,不需要磁盘空间。
Varnishlog是一个用来查看Varnish日志的程序
1:启动varnishlog,会看到主进程的基本信息
2:然后重新刷新浏览器访问页面,会看到访问的日志信息
3:格式说明:

日志过滤指令:可以使用varnishlog去过滤,基本的选项如下:

-b 只显示varnish和后端服务器之间通信的记录条。当你想优化缓存命中率的时候,非常有用。 

./varnishlog -b

-I 通过正则表达式过滤数据,并显示匹配行。”varnishlog –c –I RxHeader –I Cookie”,将显示所有来自客户端的cookie头信息。

-k num 只显示开头的num个日志记录

-w 、-r 

输出日志到一个文件:
$ varnishlog -w /var/log/varnish.log
读取一个日志文件,然后显示首页的请求
$ varnishlog -r /var/log/varnish.log -c -m RxURL:^/$

 

自定义日志

varnish里内置了日志模块,可以在vcl文件最上边引用std库,以便输出日志:import std;
然后在需要输出日志的地方,使用 std.log 即可。
比如你想跟踪哪些连接没有命中缓存,可以在vcl_miss函数中这样写:

sub vcl_miss {
  std.log("url miss! the url=" + req.url);
  return (fetch);
}
启动varnish 后,通过 varnishlog工具跟踪打印出的日志 varnishlog
-I log

客户端与varnish uncached log

技术分享图片

 server与varnish uncached log

技术分享图片

 客户端与varnish cached log

 技术分享图片

 Varnishstat统计信息

Varnishstat工具显示一个运行的varnished实例的相关统计数据

显示中每列的含义,从左到右:
1:值 2:从最后一秒更新以来的每秒的一个平均值,或者一个不能计算的周期
3:从进程开始到现在每秒的平均值,或者是一个不能计算的周期。
4:描述
当使用-1选项,输出列的含义,从左到右:
1:特征名字 2:值
3:从进程开始到现在每秒的平均值,或者是一个不能计算的周期。
4:描述

技术分享图片

 

原文:https://www.cnblogs.com/xiaoliangup/p/9220390.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!