Memcached调优

一、Memcached调优思路

  1. 提高内存命中率(使数据从内存中读取,不去数据库中读取)
  2. 减少内存浪费
  3. 增加内存重复利用率

二、Memcached辅助调优命令

  1. Stats命令:查看服务器的运行状态和内部数据
  2. Stats settings:查看服务器设置
  3. 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其他命令

五、内存调优

  • 问题
  1. 存不满Chunk
  2. 热点数据堆积
  3. Slab不能被page整除
  4. Page不能被Chunk整除
  • 思路
  1. 调整Chunk大小
  2. 调整自增长因子
  • 场景分析 
  1. MSM(Memcached Session Manager)

  2. 等长数据

六、Memcached使用限制

  1. 不提供持久化机制
  2. 只有理论上的永久持久化【30天】(通过常量REALTIME_MAXDELTA设置)
  3. 不提供安全机制(要放在防火墙后)
  4. 理论最大key长度为250字节
  5. 单个item最大长度为1M
  6. 连接数:并发数200,软连接数1024
  7. 不提供冗余机制

七、Memcached使用建议

  1. 基于文本形式的存储,Memcached目前效率最高
  2. 作为数据库前端(加快查询速度、减少数据库访问次数)
  3. 作为热点数据(商城首页)缓存---预热
  4. 提升Web应用的速度
  5. 提高扩展性
  6. 缓存一些查询结果
  7. 强烈推荐使用多级缓存(本地缓存(Ehcache、Oscache)+ 内存应用(Memcached))

八、Memcached典型使用场景

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

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值