Memcached源码阅读之初始化参数解析和配置建议
Memcached启动时,有很多配置参数可以选择,这些配置参数严重影响着Memcached的使用,下面分析下这些参数的意义,开源软件版本之间差异比较大,我这次分析是基于1.4.15进行分析的,大家学习时记得核对版本。"a:" //unix socket的权限位信息,unix socket的权限位信息和普通文件的权限位信息一样
"p:" //memcached监听的TCP端口值,默认是11211
"s:" //unix socket监听的socket文件路径
"U:" //memcached监听的UDP端口值,默认是11211
"m:" //memcached使用的最大内存值,默认是64M
"M"//当memcached的内存使用完时,不进行LRU淘汰数据,直接返回错误,该选项就是关闭LRU
"c:" //memcached的最大连接数,如果不指定,按系统的最大值进行
"k"//是否锁定memcached所持有的内存,如果锁定了内存,其他业务持有的内存就会减小
"hi" //帮助信息
"r"//core文件的大小,如果不指定,按系统的最大值进行
"v"//调试信息
"d"//设定以daemon方式运行
"l:" //监听的ip信息,为了安全起见,可指定特定的ip,默认是任何ip都可以连接到memcached
"u:" //memcached运行的用户,如果以root启动,需要指定用户,否则程序错误,退出。
"P:" //memcached以daemon方式运行时,保存pid的文件路径信息
"f:" //内存的扩容因子,这个关系到Memcached内部初始化空间时的一个变化,后面详细说明
"n:" //chunk的最小大小(byte),后续的增长都是该值*factor来进行增长的
"t:" //内部worker线程的个数,默认是4个,最大值推荐不超过64个
"D:" //内部数据存储时的分割符
"L"//指定内存页的大小,默认内存页大小为4K,页最大不超过2M,调大页的大小,可有效减小页表的大小,提高内存访问的效率
"R:" //单个worker的最大请求个数
"C"//禁用业务的cas,即compare and set
"b:" //listen操作缓存连接个数
"B:" //memcached内部使用的协议,支持二进制协议和文本协议,早期只有文本协议,二进制协议是后续加上的
"I:" //单个item的最大值,默认是1M,可以修改,修改的最小值为1k,最大值不能超过128M
"S"//打开sasl安全协议
"o:" //有四个参数项可以设置:
maxconns_fast(如果连接数超过最大连接数,立即关闭新的连接)
hashpower(hash表的大小,默认是按1<<16来创建hash表的)
slab_reassign,slab_automove(调整/平衡各个slab所占的内存)
页:
[1]