memadmin php,memadmin php展示memcahe状态信息

memcache相关知识点总结

1)memcahe是什么

memcache是一款开源的、高性能高并发纯内存缓存服务软件,C/S B/S架构

2)memcache的作用

memcache通过事先规划好的内存空间,临时缓存数据库数据,减少业务对数据库的直接高并发访问,达到提升数据库的访问性能,加速网站集群动态应用服务的能力

3)常见缓存软件

a. expires web配置浏览器端缓存,静态图片、JS、CSS、HTML等

b. memcache 纯内存型,后端数据库中的数据,博文、用户信息等

c. memcached 内存加磁盘,sina利用memcache+BDB

d. rdis 内存加磁盘,持久化存储

4)memcache在企业架构总应用场景

a.完整缓存(静态缓存),如网站中商品分类信息纯静态内容

b.热点缓存(配合前端web缓存访问频率较高的内容,还要配合数据库进行不定时更新)

c.作为集群seesion会话共享存储

5)memcache分布式集群

memcache集群和web集群不太一样,所有memecache数据总和<=数据库总和

a.程序端实现:程序加载所有mc的IP列表,通过对key做hash(一致性哈希)

举个列子,假设有3个客户端1, 2, 3,3台memcached A, B, C:

Client 1想把数据"barbaz"以key "foo"存储。Client 1首先参考节点列表(A, B, C),计算key "foo"的哈希值,假设memcached B被选中。接着,Client 1直接connect到memcached B,通过key "foo"把数据"barbaz"存储进去。Client 2使用与Client 1相同的客户端库(意味着阶段一的哈希算法相同),也拥有同样的memcached列表(A, B, C)。

于是,经过相同的哈希计算(阶段一),Client 2计算出key "foo"在memcached B上,然后它直接请求memcached B,得到数据"barbaz"

b.负载均衡:通过对key做hash

6)memcache内存管理机制原理

a.Mc早期使用的内存管理机制为malloc,malloc容易产生内存碎片,导致系统整体性能下降

b.现在都是使用的Slab机制来管理和分配内存

c.memcache提前将内存分配为大小为1M的若干个Slab,然后再对每个slab进行小对象的填充chunk,用于缓存真实的数据

d.将大小相同的chunk组合成slab calss组,避免大量重复的初始化和清理,可以重复利用

7)memcache删除机制

a.不主动检测item对象是否过期,而是在get时才会检查item对象是否过期以及是否应该删除(懒惰删除对象机制)

b.当删除对象是,一般不是反内存空间,而是作为标记删除,将指针放入slot回收插槽,下次分配的时候直接使用

c.当内存空间满的时候,才会根据LRU算法把最近最少使用的item对象删除

memadmin展示memcache状态

1)memadmin

MemAdmin是一款开源、可视化的Memcached管理与监控工具

下载地址:http://www.junopen.com/memadmin/

2)部署

基于LNMP或者LAMP环境,将软件解压到站点目录即可

[root@web01 www]# tar xf memadmin-1.0.12.tar.gz

[root@web01 www]# cd memadmin

[root@web01 memadmin]# ll

总用量 36

drwxrwxrwx. 2 root root 4096 6月  19 2013 apps

-rwxrwxrwx. 1 root root 1214 6月  19 2013 config.php

drwxrwxrwx. 2 root root 4096 6月  19 2013 images

drwxrwxrwx. 6 root root 4096 6月  19 2013 include

-rwxrwxrwx. 1 root root  184 6月  19 2013 index.php

drwxrwxrwx. 2 root root 4096 6月  19 2013 langs

-rwxrwxrwx. 1 root root 1489 6月  19 2013 LICENSE.txt

-rwxrwxrwx. 1 root root 1118 6月  19 2013 README.txt

drwxrwxrwx. 2 root root 4096 6月  19 2013 views

3)登陆、初始账户和密码都为admin

4)添加memcache主机

5)查看各种memcache统计或者设置信息

6)监控命中

监控memcache状态脚本实现

#!/bin/sh

#ip=$1

#port=$2

check_mem(){

printf "set key1 0 0 4\r\ntest\r\n"|nc $1 $2

if [ `printf "get key1\r\n"|nc $1 $2|wc -l` -gt 1 ];then

echo "memcache $1 $2 ok..."

hit=`printf "stats\r\n"|nc $1 $2|awk 'NR==14 {print $3}'`

miss=`printf "stats\r\n"|nc $1 $2|awk 'NR==15 {print $3}'`

echo "The hit rate is `echo "${hit} ${miss}"|awk

'{print $1/($1+$2)*100}'`%"

else

echo "memcache $1 $2 error..."

fi

}

main(){

[ $# -ne 2 ]&&echo "USAGE:$0 memcacheip memcacheport"&&exit 1

check_mem $1 $2

}

main $1 $2

[root@db02 shell]# sh shell_14.sh 10.0.0.105 11211

STORED

memcache 10.0.0.105 11211 ok...

The hit rate is 92.1875%

[root@db02 shell]# sh shell_14.sh 10.0.0.105 11212

memcache 10.0.0.105 11212 error...

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值