memcached 安装、配置、使用、优化

web2.0和web1.0不一样,web1.0以内容为中心,所以web1.0做负载只需缓存内容就可以了,使用反向代理缓存页面就可以解决大部分问题了。而web2.0鼓励用户交互,内容都是动态的,只做反向代理命的话中率低,而且对数据库进行频繁的写,对数据库压力大。所以,web2.0对web1.0更需要使用内存缓存。

 

memcached高性能的,分布式的内存对象缓存系统,在动态应用中减少数据库负载,提升访问速度。

 

一、服务端安装

使用weget下载libevent和memcached

libevent: http://monkey.org/~provos/libevent-1.4.9-stable.tar.gz

memcached: http://www.danga.com/memcached/dist/memcached-1.2.6.tar.gz

 

1.先安装libevent

 

 

 

2.安装memcached

 

 

注:如果启动时出现“memcached: error while loading shared libraries: libevent-1.4.so.2: cannot open 

shared object file: No such file or directory”之类的信息,表示memcached找不到libevent的位置
所以,请先使用whereis libevent得到位置,然后连接到memcached所寻找的路径
 

 

 

二、php安装对memcached的支持

 

 

三、使用

可以使用/usr/local/bin/memcached -h获得使用帮助

 

[root@localhost tools]# /usr/local/bin/memcached -h

 

 

 

启动memcached

/usr/local/bin/memcached -d -u willko -l 192.168.1.102 -p 11211 -m 128

 

关闭memcached

 

1.如果有保存进程的pid,可以使用 kill `cat /pid文件地址`来结束进程

 

 

2.通过ps aux | grep memcache获得pid,然后kill掉

[root@localhost tools]# ps aux | grep memcache

willko    2888  0.0  0.1  16296  1816 ?        Ss   10:45   0:00 /usr/local/bin/memcached -d -u willko -l 192.168.1.102 -p 11211 -m 128

willko    2891  0.0  0.1  16296  1820 ?        Ss   10:46   0:00 /usr/local/bin/memcached -d -u willko -l 192.168.1.102 -p 11212 -m 128

root      3889  0.0  0.0  61144   712 pts/0    R+   15:13   0:00 grep memcache

 

[root@localhost tools]# kill 2888

 

或者telnet到memcached获得pid

 

 

通过telnet输入stats查看memcached的运行状态

 

 

stats  

stats reset  

stats malloc  

stats maps  

stats sizes  

stats slabs  

stats items  

stats cachedump slab_id limit_num  

stats detail [on|off|dump]  

 

 

 

[root@localhost tools]# telnet 192.168.1.102 11212

Trying 192.168.1.102...

Connected to 192.168.1.102 (192.168.1.102).

Escape character is '^]'.

stats  

STAT pid 2891

STAT uptime 17253

STAT time 1232868838

STAT version 1.2.6

STAT pointer_size 64

STAT rusage_user 0.002999

STAT rusage_system 0.002999

STAT curr_items 2

STAT total_items 28

STAT bytes 149

STAT curr_connections 19

STAT total_connections 22

STAT connection_structures 20

STAT cmd_get 78

STAT cmd_set 28

STAT get_hits 78

STAT get_misses 0

STAT evictions 0

STAT bytes_read 1374

STAT bytes_written 2674

STAT limit_maxbytes 134217728

STAT threads 1

END

 

pid 进程pid

uptime 运行时间

time 当前时间

curr_items 当前存储数

total_items 总存储数

bytes 当前存储内容字节

curr_connections 当前连接数

total_connections 总连接数

cmd_get 查询缓存数

get_hits 命中次数

get_misses 无法命中次数

bytes_read 从网络中读取的字节数

bytes_written 向网络发送的字节数

 

每秒读取 = total_items / uptime * 100%

缓存命中率 = get_hits / cmd_get * 100%

 

四、优化

1.facebook补丁

 

五、代理

memagent

http://code.google.com/p/memagent/

 

六、压力测试

memslap

http://tangent.org/index.pl?node=memslap

 

参考资料:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值