Memcached搭建 & 监控

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的状态,内存、命中、读写次数等。

  1. 使用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    //已过期的数据条目来存储新数据的数目
    
  2. 使用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