一、Memcached调优思路
- 提高内存命中率(使数据从内存中读取,不去数据库中读取)
- 减少内存浪费
- 增加内存重复利用率
二、Memcached辅助调优命令
- Stats命令:查看服务器的运行状态和内部数据
- Stats settings:查看服务器设置
- Stats items/slabs:数据项统计/区块统计
三、Stats命令核心参数
- cmd_get:Memcached中总的查询次数 = get_hits + get_misses
- get_hits:查询时命中内存的次数
- get_misses:未命中的次数
- 缓存命中率 = (get_hits / cmd_get) * 100%

- curr_items:当前存储的数据条数
- total_items:总共存储的数据
- evictions:删除的数据条数(当数据真的被删除而不是放入类似回收站里才会被触发,是以lru的形式存储的),如果数值过大很大程度上说明lru的频率有问题,就要看热点数据的问题

- bytes:存储的数据量,存储了多少字节
- bytes_read:总共读取了多大的数据量(理论中数量越大越好,越大说明是在内存中读取数据而不是在数据库中读取数据)
- bytes_written:总的写入数量

- rusage_user:占用的用户时间
- rusage_system:占用的系统时间(一般代表占用CPU的时间)
- 如果CPU占用过高首先要查一下是否是Memcached的占用过高

- curr_connections:当前连接数
- total_connections:总共连接数

四、Stats其他命令



五、内存调优
- 存不满Chunk
- 热点数据堆积
- Slab不能被page整除
- Page不能被Chunk整除
- 调整Chunk大小
- 调整自增长因子
- MSM(Memcached Session Manager)

- 等长数据

六、Memcached使用限制
- 不提供持久化机制
- 只有理论上的永久持久化【30天】(通过常量REALTIME_MAXDELTA设置)
- 不提供安全机制(要放在防火墙后)
- 理论最大key长度为250字节
- 单个item最大长度为1M
- 连接数:并发数200,软连接数1024
- 不提供冗余机制
七、Memcached使用建议
- 基于文本形式的存储,Memcached目前效率最高
- 作为数据库前端(加快查询速度、减少数据库访问次数)
- 作为热点数据(商城首页)缓存---预热
- 提升Web应用的速度
- 提高扩展性
- 缓存一些查询结果
- 强烈推荐使用多级缓存(本地缓存(Ehcache、Oscache)+ 内存应用(Memcached))
八、Memcached典型使用场景

------扫码进群,怕你禁不住福利的诱惑------

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!