memcached
文章平均质量分 90
coder_小刀
投身移动互联网的85后码农
展开
-
linux上安装memcached
1. 准备安装文件下载memcached与libevent的安装文件http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz(memcached下载地址)https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz(l转载 2014-11-25 13:27:17 · 625 阅读 · 0 评论 -
Memcached调试参数&常用命令
一、调试参数 -v +输出error/warning -vv +输出命令/响应 -vvv +输出内部状态存储命令 set/add/replace/append/prepend/cas、读取命令 get=bget?/gets删除命令 delete计数命令 incr/decr统计命转载 2015-01-22 09:48:18 · 5468 阅读 · 0 评论 -
深入Memcached内部----item内存分配
1.Item数据格式 Item是保存在chunk中的实际数据 2.新建Item分配内存过程快速定位slab classid计算key+value+suffix+32结构体,如90byte如果>1MB,无法存储丢弃取最小冗余的slab class如:有48,96,120,存90会选择96按顺序寻找可用chunkslo转载 2015-01-22 11:44:24 · 850 阅读 · 0 评论 -
深入Memcached内部(一)
1.memcached机制a. 守护进程机制 -UNIX daemonb. Socket事件处理机制 -non-blocked:非阻塞 -libevent:异步事件处理 -epoll/kqueuec. 内存管理机制 -slab:内存分配机制 -LRU:对象清除机制 -Has转载 2015-01-22 11:26:49 · 753 阅读 · 0 评论 -
memcache内存存储机制
Slab Allocation机制memcached默认情况下采用了名为Slab Allocator的机制来分配、管理内存。 在该机制出现以前,内存的分配是通过对所有记录简单地进行malloc和free来进行的。 但是,这种方式会导致内存碎片,加重操作系统内存管理器的负担,最坏的情况下, 会导致操作系统比memcached进程本身还慢。Slab Allocator就是为解决该问题而诞生的。原创 2015-01-21 16:30:36 · 951 阅读 · 0 评论 -
深入Memcached内部 --- slab内存分配
1.slab内存结构图:二维数组链表slab是一次申请内存的最小单位2.slab内存分配实例3.实例数据 4.计算slab占用内存5.slab参数进程内存区slabclass元信息:1.1中是21byte,1.2中是200byteHashtabl转载 2015-01-22 11:38:03 · 1191 阅读 · 0 评论 -
memcached内存分配及回收初探
这篇文章很清晰的描述了memcached对内存分配和回收的机制。例如:slabs分割完毕后,当再次申请内存的时候,memcached是怎么去申请内存的,当内存满了以后,memcached的回收机制是什么,回收的是哪一快内存?转载自:http://rails2010.iteye.com/blog/764049在小虎的授意下,对memcached(后面简称mc)转载 2015-01-22 09:40:23 · 2263 阅读 · 0 评论 -
Memcached调优
1.调优的最高指示精神提高内存利用率,减少内存浪费提高命中率(80%,95%?)调优方法:f参数:factor增长因子 n参数:chunk初始值 低CPU消耗(瓶颈在于网络IO)libevent事件机制slab内存预分配机制适合使用大量低CPU的机器搭建集群32位机器最大2GB,64GB无限制-m分配内存为转载 2015-01-22 11:49:15 · 1218 阅读 · 0 评论 -
Memcached不足之处
Can’t dump无法备份,重启无法恢复Can’t iterate over keys无法查询Not persistent没有持久化,重启全部丢失Not redundant单点故障failoverNo Sessions崩溃没法查找原因No security任何机器都可以telnet,需要放在防火墙后内存问题LRU是slab局部,没有全局有空转载 2015-01-22 14:23:23 · 795 阅读 · 0 评论 -
Memcache存储大数据的问题
Memcached存储单个item最大数据是在1MB内,如果数据超过1M,存取set和get是都是返回false,而且引起性能的问题。我们之前对排行榜的数据进行缓存,由于排行榜在我们所有sql select查询里面占了30%,而且我们排行榜每小时更新一次,所以必须对数据做缓存。为了清除缓存方便,把所有的用户的数据放在同一key中,由于memcached:set的时候没有压缩数据。在测试服测转载 2014-11-25 15:03:53 · 788 阅读 · 0 评论 -
Memcached的分布式算法-Consistent Hashing
memcached的分布式算法-Consistent Hashing前言:我们知道以往资料要放到 M 台服务器上,最简单的方法就是取余数 (hash_value % M) 然后放到对应的服务器上,那就是当添加或移除服务器时,缓存重组的代价相当巨大。添加服务器后,余数就会产生巨变,这样就无法获取与保存时相同的服务器, 从而影响缓存的命中率。下面这篇文章写的非常好,结合memc转载 2014-11-25 20:24:28 · 742 阅读 · 0 评论 -
memcached状态分析
1.memcache状态stats说明: pid memcache服务器的进程ID uptime 服务器已经运行的秒数 time 服务器当前的unix时间戳 version memcache版本 pointer_size 当前操作系统的指针大小(32位系统一般是32bit) rusage_user 进程的累计用户时间 rusage_system 进程的累计系统时间原创 2014-11-25 15:16:27 · 1296 阅读 · 0 评论 -
memcache监控常用方法
memcache监控常用方法1、采用图形化方式:参考:http://jingyan.baidu.com/article/6525d4b11f482bac7d2e94da.html在http://pecl.php.net/package/memcache 下载memcache,得到memcache.php文件,设置账号、密码、memcache的IP端口即可。将memcache.php原创 2014-11-25 19:39:35 · 1848 阅读 · 0 评论 -
Memcached 内存分配机制介绍
1. Slab Allocation机制:整理内存以便重复使用 最近的memcached默认情况下采用了名为Slab Allocator的机制分配、管理内存。在该机制出现以前,内存的分配是通过对所有记录简单地进行malloc和free来进行的。但是,这种方式会导致内存碎片,加重操作系统内存管理器的负担,最坏的情况下,会导致操作系统比memcached进程本身还慢。Slab All转载 2014-11-25 17:36:45 · 824 阅读 · 0 评论 -
Memcached常用命令(二)
1.统计命令stats格式:stats []\r\nSTAT \r\nEND\r\n[html] view plaincopystats STAT pid 1014 //Memcache进程ID STAT uptime 8122 //M转载 2015-01-22 11:06:10 · 969 阅读 · 0 评论