调优思路
1. 提高内存命中率
2. 减少内存浪费
3. 增加内存重复利用率
Memcached辅助调优命令
1. Stats命令:查看服务器的运行状态和内部数据(cmd_gets,get_hits<命中>,get_misses(没命中),curr_items<当前条数>,total_items<总条数>,evictions<删除的条数>【LRU真正删除时触发】)
2. Stats settings:查看服务器设置
3. Stats items/slabs: 数据项统计/区块统计
Slab Allocator
items
1. key
2. flags
3. value
4. 数据结构
5.suffix
6. 空间
内存调优
1. 存不满chunk
2. 热点数据的堆积
3. slab不能被page整除
4. page不能被chunk整除
思路:
1 . 调整chunk大小
2. 调整自增长因子
场景分析:
1. MSM: 数据长度集中在某几个区域内,非均匀分布
2.等长数据:数据长度集中在一个区域,很极端非均匀分布
使用限制
1. 不提供持久化机制
2. Memcached只有理论上的永久持久化【30天】
3. 不提供安全管理机制
4 .理论上key的最大字节是250字节
5. 单个item最大长度1M
6 .连接数:并发数:200软连接数:1024
7. Memcached不提供冗余机制
使用建议
基于文本形式的存储memcached目前效率最高。
作为数据库前端:加快查询速度,减少数据库访问次数
作为热点数据缓存
提升web应用的速度
缓存一些查询结果
memcached使用场景:分布式应用,DB前端缓存,变化和查询频繁,又不需要入库,查询需求大,数据变更不频繁