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算法,此时如果内存已满再存放数据则会报错。