命令行查看Memcached运行状态
很多时候需要监
控服务器上的Memcached运行情况,比如缓存的查询次数,命中率之类的。但找到的
那个memcached-tool是linux下用
perl写的,我也没试过windows能不能用。后来发现个简单的办法
可以做到,就是使用Telnet。
首先登录到服务器,然后在
cmd命令行中键入
telnet 127.0.0.1 11211
其中127.0.0.1是服务器的地址(这里是本机)
,11211是memcached绑定的端口号。
之后命令行窗口全黑只有光标提示,摸黑输入stats,即可得到描述Memcached服务器运
行情况的参
数。如下图:
其中,uptime
是memcached运行的秒数,cmd_get是查询缓存的次数。这两个数据相除一下就能得到
平均每秒请求缓存的次数——最近niupu的流量
很低,所以平均也就一秒请求一次多,这么点大的压
力,用文件系统缓存一样没问题,根本不会体现出使用memcached的优越。
下面的
cmd_set 就是设置key=>value的次数。整个memcached是个大hash,用cmd_get没有找到的内
容,就会调用
一下cmd_set写进缓存里。紧跟着是get_hits,就是缓存命中的次数。缓存命中率 =
get_hits/cmd_get *
100%。
下面的get_misses的数字加上get_hits应该等于cmd_get。而total_itemscurr_items表示现
在在缓
存中的键值对个数,在图上total_items == cmd_set == get_misses,不过当可用最大内存用光时
,memcached
就会删掉一些内容,上面的等式就不成立了。
话说回来,memcached要是能有一套完整的监测工具就太好了。memcached的安装和php
相应配置请看
这里。
Memcached的stats命令
telnet
到memcached服务器后有很多的命令可以使用,除了大家熟知的add、get、set、incr、decr、replace、delete等赋值命
令外,还有一系列的获取服务器信息的命令,这部分命令都是以stats开头的。
用PHP的Memcache::getStats($cmd)也可
以访问这些命令
常用的命令
stats
显示服务器信息、统计数据等
stats reset
清
空统计数据
stats malloc
显示内存分配数据
stats cachedump slab_id
limit_num
显示某个slab中的前limit_num个key列表,显示格式如下
ITEM key_name [
value_length b; expire_time|access_time s]
其中,memcached
1.2.2及以前版本显示的是 访问时间(timestamp)
1.2.4以上版本,包括1.2.4显示 过期时间(timestamp)
如
果是永不过期的key,expire_time会显示为服务器启动的时间
stats cachedump 7 2
ITEM
copy_test1 [250 b; 1207795754 s]
ITEM copy_test [248 b; 1207793649 s]
stats
slabs
显示各个slab的信息,包括chunk的大小、数目、使用情况等
stats items
显示各个slab
中item的数目和最老item的年龄(最后一次访问距离现在的秒数)
stats detail [on|off|dump]
设
置或者显示详细操作记录
参数为on,打开详细操作记录
参数为off,关闭详细操作记录
参数为dump,显示详细操作记录(每一个键值get、set、
hit、del的次数)
stats detail dump
PREFIX copy_test2 get 1 hit 1
set 0 del 0
PREFIX copy_test1 get 1 hit 1 set 0 del 0
PREFIX cpy
get 1 hit 0 set 0 del 0
阅读(894) | 评论(0) | 转发(0) |