varnishstat – 查看varnish统计信息命令

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

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

以下选项可用:

  • -1 不再显示不断更新的显示,而是将统计信息打印到stdout。
  • -f 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 指定varnishd工作目录(也称为实例名称)以获取日志。如果未指定-n,则使用主机名。
  • -N 指定一个陈旧的VSM实例的文件名。使用此选项时,放弃检查被禁用。
  • -t
    在初始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:代表缓存的请求体对象大小