Memcache监控工具 -- memkeys


介绍


memkeys是tumblr开源的类似top的工具,可用于实时查看memcached的key使用情况。

 

安装


安装autoconf(要求版本2.68以上):

# wget -c http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz
# tar zxvf autoconf-latest.tar.gz
# cd autoconf-2.69
# ./configure
# make && make install

 

安装其它依赖:

# yum install libpcap-devel pcre-devel ncurses-devel

 

安装memkeys:

# git clone https://github.com/tumblr/memkeys.git
# cd memkeys
# ./autogen.sh
# ./configure
# make && make install

 

使用


# memkeys -h
Usage: memkeys -i NIC [options]
-d, --discard=THRESH Discard keys where req/s rate is below THRESH
-i, --interface=NIC Network interface to capture traffic on (required)
-p, --port=PORT Network port to capture memcache traffic on (default 11211)
-r, --refresh=INTERVAL Refresh the stats display every INTERVAL ms (default 500)
-l, --logfile=FILE Output logs to FILE
-R, --report=REPORT Output data in REPORT format (CSV or curses, default curses)
-h, --help This help
-v, --verbose Increase verbosity. May be used multiple times.
-V, --version Show program info and exit.

 

捕获eth0上memcached的key的使用情况,记录日志到/tmp/memkeys.log:

memkeys -i eth0 -l /tmp/memkeys.log

 

显示结果类似如下:

memcache key calls objsize req/sec bw(kbps)
username 1 12 0.14 0.01
key12 1 6 0.07 0.00
key10 1 6 0.06 0.00
sort mode: reqrate (desc) keys: 3 packets (recv/dropped): 24 / 0 (0.00%) rt: 1 (ms)
B:sort by bandwidth | C:sort by calls | Q:quit | R:sort by req/sec | S:sort by size | T:toggle sort order (asc|desc)

 

当你在一个很大网络流量的机器上运行memkeys,需要定义一个每秒请求量的阈值,过滤掉req/sec小于指定的值,否则内存空间占用将会增长得相当大。

memkeys -i eth0 -d 10.0 -l /tmp/memkeys.log