varnishlog、Varnishstat详解
Varnish将日志记录到共享内存片段,而不是记录到一个普通文件中。当记录到内存片段的最后处,会再从头开始记,覆写老数据。这比记录到文件要快的多,不需要磁盘空间。
Varnishlog是一个用来查看Varnish日志的程序
1:启动varnishlog,会看到主进程的基本信息
2:然后重新刷新浏览器访问页面,会看到访问的日志信息
3:格式说明:
- 第一列可以是任意的数字,它代表具体的请求。数字相同,表示他们是同属于一个HTTP事务的。
- 第二列是日志信息的标签。所有的日志条目都是用一个标签去标记,该标签代表何种行为被记录。以Rx开头的标签代表varnish正在接受数据,Tx代表正在发送数据。
- 第三列表示数据的是来自或者要发送给客户(c),另外,还有为b的情况,代表数据来自或要发送给后端(b)。第四列是被记录的数据。
日志过滤指令:可以使用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:描述
varnishlog、Varnishstat详解的更多相关文章
- Vanish 详解
1.varnish 概述: varnish是一款高性能且开源的方向代理服务器和HTTP加速器,它的开发者poul-Henning kamp FreeBSD 核心的开发人员之一.varnish采 ...
- web缓存服务器varnish-4.1.6的部署及配置详解
web缓存服务器varnish-4.1.6的部署及配置详解 1.安装varnish4.1.6安装依赖 yum install -y autoconf automake jemalloc-devel l ...
- Linq之旅:Linq入门详解(Linq to Objects)
示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集 ...
- 架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)
一.下篇开头的废话 终于开写下篇了,这也是我写远程调用框架的第三篇文章,前两篇都被博客园作为[编辑推荐]的文章,很兴奋哦,嘿嘿~~~~,本人是个很臭美的人,一定得要截图为证: 今天是2014年的第一天 ...
- EntityFramework Core 1.1 Add、Attach、Update、Remove方法如何高效使用详解
前言 我比较喜欢安静,大概和我喜欢研究和琢磨技术原因相关吧,刚好到了元旦节,这几天可以好好学习下EF Core,同时在项目当中用到EF Core,借此机会给予比较深入的理解,这里我们只讲解和EF 6. ...
- Java 字符串格式化详解
Java 字符串格式化详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. 在 Java 的 String 类中,可以使用 format() 方法 ...
- Android Notification 详解(一)——基本操作
Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...
- Android Notification 详解——基本操作
Android Notification 详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天项目中有用到 Android 通知相关的内容,索性把 Android Notificatio ...
- Git初探--笔记整理和Git命令详解
几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...
随机推荐
- CF1053E Euler tour
题意 给出一个某些位置不全的欧拉序,求出一个符合条件的,或输出不行 传送门 \(n \le 5*10^5\) 思路 终于不是一道神仙\(dp\) 变成了一道神仙构造 以下简称两相同数围成的是一个区间, ...
- HDU 4380 Farmer Greedy(叉积和三角形知识的综合应用)
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=115760#problem/A 题目意思大致为由n个点(n小于100)和m个金矿 ...
- redhat7.4安装git(按照官网从源码安装)
按照官方文档建议使用源码安装 1.为什么不用yum安装 yum安装确实简单,只用一行命令就可以了,但是yum安装的版本太低. //安装前使用info查看git版本信息等 yum info git yu ...
- root of context hierarchy
Spring Boot项目,运行不明中断.日志如下: 2018-11-03 11:03:43.358 INFO [Thread-2][AbstractApplicationContext.java:9 ...
- 动态连通性问题——算法union-find
问题定义:问题的输入是一列整数对,其中每个整数都表示一个某种类型的对象,一对整数p,q可以被理解为"p和q是相连的".我们假设“相连”是一种对等的关系. 这也意味着它具有: 1.自 ...
- vagrant系列三:vagrant搭建的php7环境
原文:https://blog.csdn.net/hel12he/article/details/51107236 前面已经把vagrant的基础知识已经基本过了一遍 了,相信只要按着教程来,你已经搭 ...
- 在IIS7、IIS7.5中应用程序池最优配置方案
先介绍几个简单的设置 应用程序池 > 高级设置 1.基本设置 队列长度: 65535 启动32位应用程序 否则安装一些32的组建或32位的php都会出错 托管管道模式 Classsic 2.高级 ...
- 图解 HTTP 笔记(六)——HTTP 首部
本章主要讲解了 HTTP 首部的结构,已经首部中各字段的用法. 一.HTTP 报文首部 上图是 HTTP 请求报文的结构. HTTP 请求报文由方法.URI.HTTP 版本.HTTP 首部字段等组成. ...
- linux扩展根目录空间
转自:http://blog.chinaunix.net/uid-363820-id-2181838.html Linux用户如何扩展磁盘空间? 这里以B型VPS为例,说明磁盘空间的具体扩展方法如下: ...
- hello/hi的简单的网络聊天程序
hello/hi的简单的网络聊天程序 0 Linux Socket API Berkeley套接字接口,一个应用程序接口(API),使用一个Internet套接字的概念,使主机间或者一台计算机上的进程 ...