- 1、本文档共53页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Memcached内存分析、调优、集群汇
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 内存有浪费了!! slab尾部剩余空间 如classid=40中,两个chunk占用了1009384byte,就有1048576-1009384=39192byte被浪费 解决办法:规划slab=chunk*n整数倍 slab中chunk利用率低:申请的slab只存放了一个Item 解决办法:规划slab=chunk chunk存储Item浪费 如I tem是100,存到128字节chunk,就有28字节浪费 解决办法:规划chunk=Item 使用合适的factor,减少浪费 -f参数:默认为1.25,曾经为2 值越小,slab中chunk size差距越小,内存浪费越小 1.25适合缓存几百字节的对象 slab class 1: chunk size 128 perslab 8192 slab class 2: chunk size 256 perslab 4096 slab class 3: chunk size 512 perslab 2048 slab class 4: chunk size 1024 perslab 1024 slab class 5: chunk size 2048 perslab 512 slab class 6: chunk size 4096 perslab 256 slab class 7: chunk size 8192 perslab 128 slab class 8: chunk size 16384 perslab 64 slab class 9: chunk size 32768 perslab 32 slab class 10: chunk size 65536 perslab 16 slab class 11: chunk size 131072 perslab 8 slab class 12: chunk size 262144 perslab 4 slab class 13: chunk size 524288 perslab 2 slab class 1: chunk size 88 perslab 11915 slab class 2: chunk size 112 perslab 9362 slab class 3: chunk size 144 perslab 7281 slab class 4: chunk size 184 perslab 5698 slab class 5: chunk size 232 perslab 4519 slab class 6: chunk size 296 perslab 3542 slab class 7: chunk size 376 perslab 2788 slab class 8: chunk size 472 perslab 2221 slab class 9: chunk size 592 perslab 1771 slab class 10: chunk size 744 perslab 1409 factor=2 factor=1.25 建议:计算一下数据的预期平均长度,调整factor,以获得最恰当的设置 根据数据分布调整factor 非均匀分布,即数据长度集中在几个区域内 如保存用户Session 更极端的状态是等长数据 如定长键值,定长数据 多见于访问、在线统计或执行锁 计算Item长度 key键长+suffix+value值长+结构大小(32字节) 调优的最高指示精神 提高内存利用率,减少内存浪费 提高命中率(80%,95%?) 调优方法: f参数:factor增长因子 n参数:chunk初始值 一切都是为了更快 低CPU消耗(瓶颈在于网络IO) libevent事件机制 slab内存预分配机制 适合使用大量低CPU的机器搭建集群 32位机器最大2GB,64GB无限制 -m分配内存为数据区,memcached本身也需要占用内存,因此不可将物理内存全部分配 使用连接池维持连接 因为优秀,所以不足 Can’t dump 无法备份,重启无法恢复 Can’t iterate over keys 无法查询 Not persistent 没有持久化,重启全部丢失 Not redundant 单点故障failover No Sessions 崩溃没法查找原因 No security 任何机器都可以telnet,需要放在防火墙后 内存问题 LRU是slab局部,没有全局 有空间浪费 日志问题 没有合理的日志 集群问题 集群增加机
文档评论(0)