首页 > 代码库 > memcached性能监控

memcached性能监控

1、安装启动memcached

安装:

yum -y install memcached

 

启动:

chkconfig --level 2345 memcached on

service memcached start

 

查看状态:

memcached-tool  127.0.0.1:11211 stats

重要指标:

  • cmd_get  查询缓存次数
  • cmd_set 设置key=>value的次数,没找到就写缓存
  • get_hits 总命中数get_misses总未命中数

 

配置文件:

  •   /etc/sysconfig/memcached

 

2、监控memcached---memadmin

监控工具安装:

  • 1)yum  install php-perl-memcache
  • 2)vi /etc/php.ini  在Dynamic  Extensions代码块中添加extension=memcache.so
  • 3)重启apache服务
  • 4)访问URL:http://your ip/memadmin  (admin/123123)

监控工具使用:

    http://www.junopen.com/memadmin/

 

3、memcached性能测试工具---Twemperf(mcpery)

     一款memcached性能测试工具,可以模拟大并发set、get等操作。

使用实例:

    mcperf  --num-conns=1000  --conn-rate=1000  --num-calls=10  --call-rate=1000  --timeout=5  --linger=0  --sizes=d1

    创建1000个并发连接;建立速度为每秒1000个,每一个连接发送set请求10次(相当于迭代10次),这10次请求以每秒1000的速度下发;设置连接和响应的超时时间为5s,设置tcp连接的断开时间(默认不开启),发送存储数据的大小(默认是1个字节),我们设为1个字节(也就是存入到memcached的value的大小)。

结果字段解释:

      

 

4、memcached调优方法

1)存储的数据越大,则随着并发数的上升memcached处理请求的速度下降越明显,因此,存储数据不宜过大,如果确实要存储较大数据,建议拆分成两个或更多key来存储。

2)集群部署提升的性能越明显(平均耗时小,吞吐量大)

3)memcached中key最大允许250个英文字符或27个中文字,超过这些最大值,则数据无法存储。另外,官方文档指出,value最大允许存储1M数据,超过1M的数据无法存储,因此建议key不宜过大,value也不宜过大,如果value超过1M,建议存储到两个或多个key中。

4)memcache内存存储满数据之后,之后再存储的数据不会再消耗内存,最老的数据会被删除(LRU算法),memcached启动参数默认是开启LRU(近期最少使用算法)的。如果启动参数加上-M则不开启LRU算法,此时如果内存已满再存放数据则会报错。