Memcached搭建 & 监控
源码安装
依赖
在安装memcached之前,需要先安装libevent这个开发包。
- ubuntu: sudo apt-get install libevent-dev
- Redhat/Fedora: sudo yum install libevent-devel (这种方式可能不是最新版本)
要安装最新版本的libevent-2.0.22, ln -s /usr/local/lib/libevent-2.0.so.5 /lib64/libevent-2.0.so.5
安装步骤
- 获取源码
wget http://memcached.org/latest tar -zxvf memcached-1.x.x.tar.gz cd memcached-1.x.x
- 配置,可以配置安装的路径
./configure --prefix=/usr/local/memcached
- 安装
make && make test sudo make install
启动参数
memcached启动时,可以指定各种参数,详细如下:
-p <num> 指定要监听的tcp端口
-U <num> 指定要监听的udp端口
-s <file> 指定要监听的UNIX socket path
-l <addr> 指定监听的本地网卡地址
-d 以守护进程启动
-u <username> 用username做个标记(只用当使用root运行时,才使用)
-m <num> 指定可使用的最大内存(单位MB)
-c <num> 指定最大的并发连接(默认1024)
/home/service/memcached/bin/memcached -c 80000 -p 11212 -l 10.0.20.86 -d -m 5120 -u root
监控
如何查看memcached的状态,内存、命中、读写次数等。
- 使用telnet
这种方式一次只能查看一个节点。telnet 192.168.1.2 11211 //连上之后,再操作下面 stats //会打印出当前状态,详细解释如下 STAT pid 22362 //memcache服务器的进程ID www.2cto.com STAT uptime 1469315 //服务器已经运行的秒数 STAT time 1339671194 //服务器当前的unix时间戳 STAT version 1.4.9 //memcache版本 STAT libevent 1.4.9-stable //libevent版本 STAT pointer_size 64 //当前操作系统的指针大小(32位系统一般是32bit,64就是64位操作系统) STAT rusage_user 3695.485200 //进程的累计用户时间 STAT rusage_system 14751.273465 //进程的累计系统时间 STAT curr_connections 69 //服务器当前存储的items数量 STAT total_connections 855430 //从服务器启动以后存储的items总数量 STAT connection_structures 74 //服务器分配的连接构造数 STAT reserved_fds 20 // STAT cmd_get 328806688 //get命令(获取)总请求次数 STAT cmd_set 75441133 //set命令(保存)总请求次数 www.2cto.com STAT cmd_flush 34 //flush命令请求次数 STAT cmd_touch 0 //touch命令请求次数 STAT get_hits 253547177 //总命中次数 STAT get_misses 75259511 //总未命中次数 STAT delete_misses 4 //delete命令未命中次数 STAT delete_hits 565730 //delete命令命中次数 STAT incr_misses 0 //incr命令未命中次数 STAT incr_hits 0 //incr命令命中次数 STAT decr_misses 0 //decr命令未命中次数 STAT decr_hits 0 //decr命令命中次数 STAT cas_misses 0 //cas命令未命中次数 STAT cas_hits 0 //cas命令命中次数 STAT cas_badval 0 //使用擦拭次数 STAT touch_hits 0 //touch命令未命中次数 STAT touch_misses 0 //touch命令命中次数 STAT auth_cmds 0 //认证命令处理的次数 STAT auth_errors 0 //认证失败数目 STAT bytes_read 545701515844 //总读取字节数(请求字节数) STAT bytes_written 1649639749866 //总发送字节数(结果字节数) STAT limit_maxbytes 2147483648 //分配给memcache的内存大小(字节) STAT accepting_conns 1 //服务器是否达到过最大连接(0/1) STAT listen_disabled_num 0 //失效的监听数 STAT threads 4 //当前线程数 STAT conn_yields 14 //连接操作主动放弃数目 STAT hash_power_level 16 // STAT hash_bytes 524288 STAT hash_is_expanding 0 STAT expired_unfetched 30705763 STAT evicted_unfetched 0 STAT bytes 61380700 //当前存储占用的字节数 STAT curr_items 28786 //当前存储的数据总数 STAT total_items 75441133 //启动以来存储的数据总数 STAT evictions 0 //为获取空闲内存而删除的items数(分配给memcache的空间用满后需要删除旧的items来得到空间分配给新的items) STAT reclaimed 39957976 //已过期的数据条目来存储新数据的数目
- 使用perl脚本,memcache-top
memcache-top 是一个用 Perl 编写的命令行小工具,用来实时的获取 memcached 缓存服务器的详细信息,例如缓存命中率等。到官网下载脚本,放到用户目录,直接运行即可。下载地址 http://code.google.com/p/memcache-top/downloads/list修改脚本里的memcached实例ip、端口后,直接运行,详细如下: INSTANCE USAGE HIT % CONN TIME EVICT/s READ/s WRITE/s 10.50.11.5:11211 88.8% 69.6% 1123 1.9ms 0.3 13.1K 36.2K 10.50.11.5:11212 88.7% 69.6% 1175 0.6ms 0.3 12.4K 28.1K 10.50.11.5:11213 88.8% 69.4% 1148 0.7ms 0.0 16.6K 32.1K 10.50.12.5:11211 89.3% 81.5% 1460 0.7ms 0.3 17.7K 204.0K 10.50.12.5:11212 89.4% 69.3% 1174 0.6ms 1.0 28.9K 63.5K 10.50.12.5:11213 89.3% 69.4% 1158 0.7ms 0.7 166.3K 194.4K 10.50.15.5:11211 89.3% 71.8% 1472 0.8ms 0.0 37.3K 59.2K 10.50.15.5:11212 89.4% 69.3% 1143 0.7ms 0.7 44.9K 35.4K 10.50.15.5:11213 89.3% 84.5% 1371 0.7ms 0.7 49.0K 187.2K 10.50.9.90:11211 30.2% 76.3% 259 0.7ms 0.0 243 999 10.50.9.90:11212 19.2% 60.3% 261 0.7ms 0.0 40 801 10.50.9.90:11213 17.5% 16.9% 235 0.6ms 0.0 70 600 AVERAGE: 72.4% 67.3% 998 0.8ms 0.3 32.2K 70.2K TOTAL: 23.4GB 11.7K 9.2ms 4.0 386.4K 842.3K
版权声明
本站文章、图片、视频等(除转载外),均采用知识共享署名 4.0 国际许可协议(CC BY-NC-SA 4.0),转载请注明出处、非商业性使用、并且以相同协议共享。
© 空空博客,本文链接:https://www.yeetrack.com/?p=1123
近期评论