查看varnish统计信息命令:varnishstat

varnishstat是一个查看当前varnish实例的实时运行状态信息。命令以及参数如下:

varnishstat [-1] [-f <glob>] [-h] [-j] [-l] [-n <dir>] [-N <filename>] [-t <seconds | off>] [-V ] [-X]

以下选项可用:

-1 不再显示不断更新的显示,而是将统计信息打印到stdout。
-f <glob> Field inclusion glob. Use backslash to escape characters. If the argument starts with '^' it is used as an exclusion glob. Multiple -f arguments may be given, and they will be applied in order.
-h 显示帮助信息
-j 统计信息为JSON格式输出到stdout。
-l 列出与-f选项一起使用的可用字段。
-n <dir> 指定varnishd工作目录(也称为实例名称)以获取日志。如果未指定-n,则使用主机名。
-N <filename> 指定一个陈旧的VSM实例的文件名。使用此选项时,放弃检查被禁用。
-t <seconds|off>
在初始VSM连接返回错误之前超时。如果设置VSM连接在0.5秒钟内重试这段时间。如果为零,则仅尝试连接一次,如果不成功,将立即失败。如果设置为“关闭”,连接将不会失败,允许该实用程序启动并等待不明确地显示该Varnish实例。默认为5秒。
-V 打印版本信息
-x 输出xml格式到stdout

在服务端使用varnishstat命令之后,会出现如下输出,并且每秒刷新一次。

21+20:34:26
Hitrate ratio:        9        9        9
Hitrate avg:     0.6641   0.6641   0.6641

   636637687       499.06   337.12 client_conn - Client connections accepted
   637516286       511.04   337.58 client_req - Client requests received
   384410700       345.35   203.56 cache_hit - Cache hits
      397324         1.00         0.21 cache_hitpass - Cache hits for pass
   239345712       158.70   126.74 cache_miss - Cache misses
     4835741         0.00         2.56 backend_conn - Backend conn. success
   248259966       154.71   131.46 backend_reuse - Backend conn. reuses
      242608         0.00         0.13 backend_toolate - Backend conn. was closed
   248512413       160.70   131.59 backend_recycle - Backend conn. recycles
        1530         0.00         0.00 backend_retry - Backend conn. retry
       23931         0.00         0.01 fetch_length - Fetch with Length
   249781348       162.69   132.27 fetch_chunked - Fetch chunked
       15614         0.00         0.01 fetch_close - Fetch wanted close
         589          .            .   n_sess_mem - N struct sess_mem
          39          .            .   n_sess - N struct sess
       34325          .            .   n_object - N struct object
       34492          .            .   n_objectcore - N struct objectcore
       84074          .            .   n_objecthead - N struct objecthead
         216          .            .   n_waitinglist - N struct waitinglist
          77          .            .   n_vbc - N struct vbc
         219          .            .   n_wrk - N worker threads
      120362         0.00         0.06 n_wrk_create - N worker threads created
      576844         0.00         0.31 n_wrk_queued - N queued work requests
           1          .            .   n_backend - N backends
   239311376          .            .   n_expired - N expired objects
   213406425          .            .   n_lru_moved - N LRU moved objects
         194         0.00         0.00 losthdr - HTTP header overflows
   632853774       503.05   335.12 n_objwrite - Objects sent with write
   636660065       512.04   337.13 s_sess - Total Sessions
   637516287       511.04   337.58 s_req - Total Requests
     3283172         2.99         1.74 s_pipe - Total pipe
    10476261         3.99         5.55 s_pass - Total pass
   249820893       162.69   132.29 s_fetch - Total fetch
210331163670    169330.83    111376.73 s_hdrbytes - Total header bytes
1121952708903    992663.81    594107.97 s_bodybytes - Total body bytes
   636390701       511.04   336.99 sess_closed - Session Closed
     1746856         0.00         0.93 sess_linger - Session Linger
     5168683         2.00         2.74 sess_herd - Session herd
 38768640297     30143.36     20529.17 shm_records - SHM records
  3367627420      2570.17      1783.26 shm_writes - SHM writes
      487720         4.99         0.26 shm_flushes - SHM flushes due to overflow
    10953952        30.94         5.80 shm_cont - SHM MTX contention

第一行表示的是varnish的运行时常,上面显示是21天。

Hitrate ratio和Hitrate avg表示的则是在多少秒内的命中率。有几个比较重要的统计数据

cache-hit:缓存命中次数

miss-hit:未命中次数

worker threads:当前工作线程的数量

expired objects:代表过期对象的个数

LRU nuked objects:代表缓存可使用的内存以达上线而不得不移除的对象个数

LRU moved objects:代表LRU策略被移动的对象个数

Total header bytes:代表缓存的请求头对象的大小

Total body bytes:代表缓存的请求体对象大小

你可能还喜欢下面这些文章

使用sublime+platuml高效画图

程序员难免要经常画流程图,状态图,时序图等。以前经常用 visio 画,经常为矩形画多大,摆放在哪等问题费脑筋。有时候修改文字后,为了较好的显示效果不得不再去修改图形。今天介绍的工具是如何使用 Sublime + PlantUML 的插件画流程图,状态图,时序图等。这是一种程序员看了就会爱上的画图方式:自然,高效。什么是 PlantUMLPlantUML 是一个画图脚本语言,用它可以快速地画出:时序图流程图用例图状态图组件图简单地讲,我们使用 visio 画图时需要一个一个图去画,但使用 PlantUML 只需要用文字表达出图的内容,然后就可以直接生成图片。看一个最简单的例子:软件安装这些软件

gcc/g++编译参数详解

编译步骤gcc 与 g++ 分别是 gnu 的 c & c++ 编译器。gcc/g++ 在执行编译工作的时候,总共需要4步:预处理,生成 .i 的文件将预处理后的文件转换成汇编语言, 生成文件 .s 有汇编变为目标代码(机器代码)生成 .o 的文件连接目标代码, 生成可执行程序 参数详解-x language filename参数含义为指定文件所使用的语言。根据约定,C语言的后缀名称为".c",而 C++ 的后缀名为".cpp"或".cc",但如果你的源代码后缀不约定的那几种,那么需要使用-x参数来指定文件所使用的语言。这个参数对他后面的文件名都起作用。 可以使用的参数吗有下面的这些:

C++动态内存管理

C++中,动态内存管理是通过一对运算符来完成:new 和 delete。new操作符在内存中为对象分配空间并返回一个指向该对象的指针,delete接收一个动态对象的指针,销毁该对象,并释放与之相关的内存。手动管理内存看起来只有这两个操作,似乎很轻松,但实际上这是一件非常繁琐的事情,分配了内存但没有释放内存的场景发生的概率太大了!回想一下,你有多少次打开抽屉却没关上,拿出来的护肤品擦完脸之后却忘了放回去,吃完饭却忘了洗碗。类似这种没有收尾的事情我做的太多了。(以上这些都是在实际生活中我爱人批评我的点)我连这种明面上的事情都能忘记收尾,何况分配内存!所以为了世界和平,我放弃了手动管理内存。好在C+

wordpress慢了,来用memcache和cdn加速一下吧

我用的vps,用了wordpress之后速度慢了不少,内存,cpu,涨的都厉害,很直观。于是,写插件吧,虽然wordpress的插件很多,缓存插件也不少,但满足我的需求的却是没有。我要的是这样的1.使用memcache缓存整个页面。(memcache可压缩缓存,并且我的页面并不多,因此占用并不大)2.在入口处就加载并且使用缓存(仅仅加载一个我预定义的缓存读取php文件,io极少,速度极快)需求很少,因为是特定的需求,十分简单,我要的就是整个页面都跑在内存中!写插件吧......几天之后,一个插件完成了。hccache缓存插件加速后台菜单是酱紫的hccache菜单点开之后是酱紫的能够定义缓存过期

wordpress支撑百万文章解决方案

作为一个博客系统,wordpress在易用性和可扩展性上都非常出色。后题用户体验是非友好,插件众多。然而由于定位的问题,wordpress无法支撑大量文章。当文章数量达到上万的时候,有些主题的前台可能会非常卡。当文章数量达到数十万的时候,wordpress后台可能会特别卡。更何况大部分插件并没有在性能上下功夫,插件越多,wordpress越卡。那么有没有什么方案能让wordpress支撑大量文章?十万,百万,甚至更多?支撑百万数据并不是存入一百万文章就可以了。实际上百万文章对mysql来说毫无压力。在mysql中,百万文章仅仅是百万条记录而已。导致缓慢的是mysql的查询。对于百万条记录的数据

ftp命令大全详解

来熟悉熟悉ftp命令,对于服务器之间的文件传输太有用啦,不会怎么能行呢!先来看看基础的命令,包括了连接,列出列表,下载,上传,断开这最基础的命令,会这些,在使用ftp命令行就毫无压力啦!1. 连接ftp服务器格式:ftp a)在linux命令行下输入:b)服务器询问你用户名和密码,分别输入用户名和相应密码,待认证通过即可。2.列出文件列表以及切换目录这部分其实和linux并无区别,分别是ls,和cd列出目录列表切换当前目录3. 下载文件下载文件通常用get和mget这两条命令。a) get格式:get 将文件从远端主机中传送至本地主机中。如要获取远程服务器上/usr/your/1.htm,则

布隆过滤器(bloom filter)介绍以及php和redis实现布隆过滤器实现方法

引言在介绍布隆过滤器之前我们首先引入几个场景。场景一在一个高并发的计数系统中,如果一个key没有计数,此时我们应该返回0。但是访问的key不存在,相当于每次访问缓存都不起作用了。那么如何避免频繁访问数量为0的key而导致的缓存被击穿?有人说, 将这个key的值置为0存入缓存不就行了吗?这是确实是一种解决方案。当访问一个不存在的key的时候,设置一个带有过期时间的标志,然后放入缓存。不过这样做的缺点也很明显:浪费内存和无法抵御随机key攻击。场景二在一个黑名单系统中,我们需要设置很多黑名单内容。比如一个邮件系统,我们需要设置黑名单用户,当判断垃圾邮件的时候,要怎么去做。比如爬虫系统,我们要记录下

varnish的基本工作原理

Varnish是一个HTPP反向代理缓存,它接受来自客户端的请求并试图从缓存中取出相应的数据来应答,如果缓存中并没有相应的数据,它将会把请求指向后端机器,获取并且储存响应的数据,之后再交付给用户。当varnish有缓存的时候响应通常只需要几微秒的时间,比直接访问后端机器通常要快两个数量级,所以要做的就是尽可能的将页面缓存到varnish中。varnish可以根据后端响应的内容来决定是否储存,在响应头中加入cache-control将会被varnish缓存。使用cookie可以让varnish不缓存。这些都是可以在一个vcl的配置文件( Varnish Configuration Languag

linux命令:ls用法,列出文件及目录

原标题:每天一个linux命令(1):ls命令ls 命令是linux下最常用的命令。ls命令就是list的缩写缺省下ls用来打印出当前目录的清单,如果ls指定其他目录那么就会显示指定目录里的文 件及文件夹清单。 通过ls 命令不仅可以查看linux文件夹包含的文件而且可以查看文件权限(包括目录、文件夹、文件权限),查看目录信息等等。ls 命令在日常的linux操作中用的很多!ls命令格式ls  命令功能列出目标目录中所有的子目录和文件。常用参数-a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件-A 同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)。

memcacheq的安装与使用

1、安装libevent官网:http://www.libevent.org/2、安装 BerkeleyDB官网:http://www.oracle.com/technetwork/products/berkeleydb/downloads/index.html(下载需要登录)安装:安装完成之后:或者:添加:并执行:3、安装 MemcacheQ官网:http://memcachedb.org/memcacheq/测试是否安装成功:4、启动服务建立相关目录:启动服务:参数说明:-d : 以后台服务方式运行-l : 设置监听地址及端口(默认是22201)-A : 数据页大小-H : 数据保存目录-

赞赏

微信赞赏支付宝赞赏

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注