4. 报告和统计

本节介绍如何了解 Varnish 正在做什么,从详细的逐个 HTTP 请求日志记录到全局汇总统计计数器。

4.1 在 Varnish 中进行记录

Varnish 最棒的功能之一是日志记录的工作方式。Varnish 不将日志记录到普通日志文件,而是记录到一个共享内存段,称为 VSL - Varnish 共享日志。当该内存段结束时,我们会重新开始,覆盖旧数据。

这比记录到文件要快得多,而且不占用磁盘空间。此外,它还能在需要时为您提供更多信息。

反过来说,如果你忘记让程序将日志实际写入磁盘,它们就会被覆盖。

varnishlog 是用于查看 Varnish 日志的程序之一。varnishlog 提供原始日志,即写入日志的所有内容。还有其他客户端也可以访问日志,我们稍后会向你展示。

在启动 Varnish 的终端窗口中输入 varnishlog -g raw,然后按回车键。

你会看到这样的行缓慢滚动:

0 CLI            - Rd ping
0 CLI            - Wr 200 19 PONG 1273698726 1.0

这是 Varnish 主进程在检查缓存进程是否一切正常。

现在打开浏览器,重新加载显示网络应用程序的页面。

你会看到这样的行

11 SessOpen       c 127.0.0.1 58912 :8080 0.0.0.0 8080 1273698726.933590 14
11 ReqStart       c 127.0.0.1 58912
11 ReqMethod      c GET
11 ReqURL         c /
11 ReqProtocol    c HTTP/1.1
11 ReqHeader      c Host: localhost:8080
11 ReqHeader      c Connection: keep-alive

第一列是一个任意编号,用于标识交易。编号相同的行来自同一个事务。第二列是日志信息的标签。所有日志条目都有一个标签,表明记录的是何种活动。

第三列告诉我们这是来自客户端(“c”)还是后端(“b”)的数据。第四列是记录的数据。

现在,你可以用 varnishlog 过滤很多东西。我们认为你想知道的基本选项有

‘-b’

只显示 Varnish 和后端服务器之间的流量日志。这对我们优化缓存命中率很有用。

‘-c’

与"-b "相同,但针对客户端流量。

-g 请求

按请求分组事务。

-q 查询

只列出与此查询匹配的事务。

有关此主题的更多信息,请参阅 varnishlog

4.2 统计信息

Varnish 自带了几个非常实用的统计生成工具,通过聚合和分析共享内存日志中的日志数据,不断更新和展示特定的数据集,从而实时生成统计数据。

4.2.1 varnishtop

varnishtop 实用程序会读取共享内存日志,并持续更新最常出现的日志条目列表。

使用 -I、-i、-X 和 -x 选项进行适当过滤后,可用于显示请求的文件、客户端、用户代理或日志中记录的任何其他信息的排序。

varnishtop -i ReqURL 将显示客户端请求的 URL。 varnishtop -i BereqURL 将显示后端请求最多的 URL。 varnishtop -I ReqHeader:Accept-Encoding 将显示客户端发送给您的最常用的 Accept-Encoding 标头。

4.2.2 varnishhist

__varnishhist __工具会读取 varnishd 共享内存日志,并显示一个持续更新的直方图,显示最近 N 个请求的处理分布情况。N 值和垂直刻度显示在左上角。水平刻度为对数。命中用管道符(“|”)标记,未命中用哈希符(“#”)标记。

4.2.3 varnishstat

Varnish 有很多计数器。我们计算未命中、命中率、存储信息、创建的线程和删除的对象,几乎无所不包。varnishstat 会转储这些计数器。这在调整 Varnish 时非常有用。

有一些程序可以定期轮询 varnishstat,并将这些计数器绘制成漂亮的图表。Munin 就是这样一个程序。Munin 的网址是 http://munin-monitoring.org/ 。Varnish 源代码中有一个 Munin 插件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值