Memcached调优
来源:互联网 发布:澳洲交通软件 编辑:程序博客网 时间:2024/05/21 06:20
1.调优的最高指示精神
提高内存利用率,减少内存浪费
提高命中率(80%,95%?)
调优方法:
f参数:factor增长因子
n参数:chunk初始值
提高命中率(80%,95%?)
调优方法:
f参数:factor增长因子
n参数:chunk初始值
低CPU消耗(瓶颈在于网络IO)
libevent事件机制
slab内存预分配机制
适合使用大量低CPU的机器搭建集群
32位机器最大2GB,64GB无限制
-m分配内存为数据区,memcached本身也需要占用内存,因此不可将物理内存全部分配
使用连接池维持连接
libevent事件机制
slab内存预分配机制
适合使用大量低CPU的机器搭建集群
32位机器最大2GB,64GB无限制
-m分配内存为数据区,memcached本身也需要占用内存,因此不可将物理内存全部分配
使用连接池维持连接
2.内存浪费
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
如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
3.使用合适的factor,减少浪费
-f参数:默认为1.25,曾经为2
值越小,slab中chunk size差距越小,内存浪费越小
值越小,slab中chunk size差距越小,内存浪费越小
建议:计算一下数据的预期平均长度,调整factor,以获得最恰当的设置
4.根据数据分布调整factor
非均匀分布,即数据长度集中在几个区域内
如保存用户Session
更极端的状态是等长数据
如定长键值,定长数据
多见于访问、在线统计或执行锁
计算Item长度
key键长+suffix+value值长+结构大小(32字节)
如保存用户Session
更极端的状态是等长数据
如定长键值,定长数据
多见于访问、在线统计或执行锁
计算Item长度
key键长+suffix+value值长+结构大小(32字节)
0 0
- Memcached调优
- Memcached
- memcached
- Memcached
- memcached
- Memcached
- memcached
- memcached
- memcached
- memcached
- memcached
- Memcached
- memcached
- memcached
- memcached
- Memcached
- memcached
- memcached
- android 在SdCard上创建数据库
- 25个增强iOS应用程序性能的提示和技巧 — 高级篇
- linux下删除非空目录
- 关于svm_train的参数问题
- 图片集效果 改写
- Memcached调优
- audio与video兼容ie
- 非模态对话框之间的切换
- 应用程序调用dll动态库,参数有vector时崩溃的问题
- 开发中遇到的兼容性问题
- Oracle 11gR2 RAC 常用维护操作
- 服务器安全 -- 端口扫描工具
- maven 打war包
- 怎么把pdf转换成txt的简易方法