安装就不用记了,都会,记点有用的。
参数:
•
启动方式:
•
-d
以守护程序(
daemon
)方式运行
•
-u root
指定用户,如果当前为
root
,需要使用此参数指定用户
•
-P /
tmp
/a.pid
保存
PID
到指定文件
•
内存设置:
•
-m 1024
数据内存数量,不包含
memcached
本身占用,单位为
MB
•
-M
内存不够时禁止
LRU
,报错
•
-n 48
初始
chunk=key+suffix+value+32
结构体,默认
48
字节
•
-f 1.25
增长因子,默认
1.25
•
-L
启用大内存页,可以降低内存浪费,改进性能
•
连接设置:
•
-l 127.0.0.1
监听的
IP
地址,本机可以不设置此参数
•
-p 11211
TCP
端口,默认为
11211
,可以不设置
•
-U 11211
UDP
端口,默认为
11211
,
0
为关闭
•
并发设置:
•
-c 1024
最大并发连接数,默认
1024
,最好是
200
•
-t 4
线程数,默认
4
。由于
memcached
采用
NIO
,所以更多线程没有太多作用
•
-R 20
每个
event
连接最大并发数,默认
20
•
-C
禁用
CAS
命令(可以禁止版本计数,减少开销)
###############################################
memcached有可能会死掉(mixi.jp经验)
监视memcached进程并自动启动
启动脚本样例:run.sh
#!/bin/sh
if [ f /etc/sysconfig/memcached ];then
. /etc/sysconfig/memcached
fi
exec 2>&1
exec memcached p $PORT u $USER m $CACHESIZE c $MAXCONN $OPTIONS
###############################################
命令列表
存储命令set/add/replace/append/prepend/cas
读取命令get=bget?/gets
删除命令delete
计数命令incr/decr
统计命令stats/settings/items/sizes/slabs
工具memcached-tool
###############################################
memcached在启动时指定 Growth Factor因子(通过-f选项),就可以在某种程度上控制slab之间的差异。
默认值为1.25。但是,在该选项出现之前,这个因子曾经固定为2,称为“powers of 2”策略。
让我们用以前的设置,以verbose模式启动memcached试试看:
liangc@ubuntu:/app/c$
memcached -f 2 -vv
slab class 1: chunk size 80 perslab 13107
slab class 2: chunk size 160 perslab 6553
slab class 3: chunk size 320 perslab 3276
liangc@ubuntu:/app/c$
memcached -f 1.2 -vv
slab class 1: chunk size 80 perslab 13107
slab class 2: chunk size 96 perslab 10922
slab class 3: chunk size 120 perslab 8738
可见,组间差距比因子为2时小得多,更适合缓存几百字节的记录。从上面的输出结果来看,可能会觉得
有些计算误差,这些误差是为了保持字节数的对齐而故意设置的。
#################################################
#启动服务 mc-start.sh
#memcached –d –m 100 -l 127.0.0.1 -p 11211 -P /log/memcached/11211.pid
ip="192.168.137.2"
ports=(11211 11212 11213 11214)
mem=100
len=${#ports[*]}
i=0
while [ $i -lt $len ]; do
rm -rf $logpath/${ports[$i]}.pid
memcached –m $mem -l $ip -p ${ports[$i]} -d
echo service $i --">" $ip":"${ports[$i]}
let i++
done
#关闭服务
ps -ax |grep memcached|awk '{print $1}'|xargs kill -9
###########################################
常用启动 :
./memcached –m 512 -L -u 非root用户 -n 128 -c 2048 -t 10 -R 100 -C -l 159.226.83.252 -p 11211 -d
###########################################
查看运行状态 : watch "echo stats | nc 127.0.0.1 11211"
这里显示了很多状态信息,下边详细解释每个状态项:
1. pid: memcached服务进程的进程ID
2. uptime: memcached服务从启动到当前所经过的时间,单位是秒。
3. time: memcached服务器所在主机当前系统的时间,单位是秒。
4. version: memcached组件的版本。这里是我当前使用的1.2.6。
5. pointer_size:服务器所在主机操作系统的指针大小,一般为32或64.
6. curr_items:表示当前缓存中存放的所有缓存对象的数量。不包括目前已经从缓存中删除的对象。
7. total_items:表示从memcached服务启动到当前时间,系统存储过的所有对象的数量,包括目前已经从缓存中删除的对象。
8. bytes:表示系统存储缓存对象所使用的存储空间,单位为字节。
9. curr_connections:表示当前系统打开的连接数。
10. total_connections:表示从memcached服务启动到当前时间,系统打开过的连接的总数。
11. connection_structures:表示从memcached服务启动到当前时间,被服务器分配的连接结构的数量,这个解释是协议文档给的,具体什么意思,我目前还没搞明白。
12. cmd_get:累积获取数据的数量,这里是3,因为我测试过3次,第一次因为没有序列化对象,所以获取数据失败,是null,后边有2次是我用不同对象测试了2次。
13. cmd_set:累积保存数据的树立数量,这里是2.虽然我存储了3次,但是第一次因为没有序列化,所以没有保存到缓存,也就没有记录。
14. get_hits:表示获取数据成功的次数。
15. get_misses:表示获取数据失败的次数。
16. evictions:为了给新的数据项目释放空间,从缓存移除的缓存对象的数目。比如超过缓存大小时根据LRU算法移除的对象,以及过期的对象。
17. bytes_read:memcached服务器从网络读取的总的字节数。
18. bytes_written:memcached服务器发送到网络的总的字节数。
19. limit_maxbytes:memcached服务缓存允许使用的最大字节数。这里为67108864字节,也就是是64M.与我们启动memcached服务设置的大小一致。
20. threads:被请求的工作线程的总数量。这个解释是协议文档给的,具体什么意思,我目前还没搞明白。
总结:stats命令总体来说很有用,通过这个命令我们很清楚当前memcached服务的各方面的信息。除此之外,我还没有其他方法可以知道这些状态信息。可能还有其他途径,可能我对memcached组件还不太熟悉吧。
分享到:
相关推荐
NULL 博文链接:https://lvwenwen.iteye.com/blog/1612837
memcached-笔记资料
Memcached学习笔记2.docMemcached学习笔记2.doc
Memcached源码剖析笔记:从源码级别剖析memcached的实现原理,讲的比较细。
memcached 源码剖析笔记和源码。 Memcached 是一个自由、源码开放、高性能、分布式内存对象缓存系统,目的在于过减轻数据库负载来使动态 Web 应用程序提速。
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的...
memcached-笔记资料.rar
韩顺平 PHP Memcached缓存技术资料源码笔记图解PPT_Ady
Memcached源码剖析笔记
Memcached源码剖析笔记
NULL 博文链接:https://acooly.iteye.com/blog/1120347
距离写这篇学习笔记已经差不多大半年时间了,当时在EMERSON做嵌入式开发,想转型找个大数据/服务器相关的工作,为了给自己找工作增加点资本就话了点时间看了下memcached的代码,同时写了一个memcached的持久化存储...
传智播客PHP培训.memcached教程.PPT.笔记.软件
主要介绍了PHP安装memcached扩展笔记,本文讲解了安装服务端、launchpad、安装memcached扩展以及配置PHP.ini等内容,需要的朋友可以参考下
系统的讲解了memcached、安装、应用以及java调用
1.背景Memcached 是一个高性能的分布式内存对象缓存系统,用于动态 Web 应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从
接上篇:mysql使用mysql-udf-http效率测试笔记 ,这次不使用rest架构,而是使用:libmemcached和memcached_functions_mysql