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:代表缓存的请求体对象大小
你可能还喜欢下面这些文章
程序员难免要经常画流程图,状态图,时序图等。以前经常用 visio 画,经常为矩形画多大,摆放在哪等问题费脑筋。有时候修改文字后,为了较好的显示效果不得不再去修改图形。今天介绍的工具是如何使用 Sublime + PlantUML 的插件画流程图,状态图,时序图等。这是一种程序员看了就会爱上的画图方式:自然,高效。什么是 PlantUMLPlantUML 是一个画图脚本语言,用它可以快速地画出:时序图流程图用例图状态图组件图简单地讲,我们使用 visio 画图时需要一个一个图去画,但使用 PlantUML 只需要用文字表达出图的内容,然后就可以直接生成图片。看一个最简单的例子:软件安装这些软件
编译步骤gcc 与 g++ 分别是 gnu 的 c & c++ 编译器。gcc/g++ 在执行编译工作的时候,总共需要4步:预处理,生成 .i 的文件将预处理后的文件转换成汇编语言, 生成文件 .s 有汇编变为目标代码(机器代码)生成 .o 的文件连接目标代码, 生成可执行程序 参数详解-x language filename参数含义为指定文件所使用的语言。根据约定,C语言的后缀名称为".c",而 C++ 的后缀名为".cpp"或".cc",但如果你的源代码后缀不约定的那几种,那么需要使用-x参数来指定文件所使用的语言。这个参数对他后面的文件名都起作用。 可以使用的参数吗有下面的这些:
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支撑大量文章?十万,百万,甚至更多?支撑百万数据并不是存入一百万文章就可以了。实际上百万文章对mysql来说毫无压力。在mysql中,百万文章仅仅是百万条记录而已。导致缓慢的是mysql的查询。对于百万条记录的数据
来熟悉熟悉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是一个HTPP反向代理缓存,它接受来自客户端的请求并试图从缓存中取出相应的数据来应答,如果缓存中并没有相应的数据,它将会把请求指向后端机器,获取并且储存响应的数据,之后再交付给用户。当varnish有缓存的时候响应通常只需要几微秒的时间,比直接访问后端机器通常要快两个数量级,所以要做的就是尽可能的将页面缓存到varnish中。varnish可以根据后端响应的内容来决定是否储存,在响应头中加入cache-control将会被varnish缓存。使用cookie可以让varnish不缓存。这些都是可以在一个vcl的配置文件( Varnish Configuration Languag
原标题:每天一个linux命令(1):ls命令ls 命令是linux下最常用的命令。ls命令就是list的缩写缺省下ls用来打印出当前目录的清单,如果ls指定其他目录那么就会显示指定目录里的文 件及文件夹清单。 通过ls 命令不仅可以查看linux文件夹包含的文件而且可以查看文件权限(包括目录、文件夹、文件权限),查看目录信息等等。ls 命令在日常的linux操作中用的很多!ls命令格式ls 命令功能列出目标目录中所有的子目录和文件。常用参数-a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件-A 同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)。
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 : 数据保存目录-
赞赏微信赞赏支付宝赞赏