1. memcached 将内存分成若干大小按比例增加的slab,LRU 是在slab内进行的。
2. 系统启动时,给各个slab预分配一定的内存。剩下的内存(A)不属于任何slab。当某个slab内存不足时,从(A)中分配,分配之后就永远属于该slab了,如果(A)中没有内存,则该slab上发生LRU。这也是给各个slab预分配内存的原因,防止slab需要内存从(A)中分配时,(A)中无内存可用,预留的内存保证了该slab上有至少有预留内存可用。
3. memcached 运行一段时间,(A)中内存必然耗尽,如果在此之前,某个slab从来没有存储过数据,那么该slab上可用的内存就是预留内存,这导致如果该slab突然需要存储数据,该slab发生LRU的概率就很大,因为预留内存很小。举例说明:memcached中存储的都是很小的数据,小数据slab很快耗尽了(A)中的内存,如果要存储大数据,大数据所在的slab只有预留内存可用,而预留内存通常很小,导致大数据频繁的LRU,这通常严重影响性能。
4. 客户端通过hash使用memcached池,存在某个key导致某个memcached实例负载/IO高的可能。例如,某个key存放的是大数据,该key的访问量很大,那么这个key所在memcached网络IO会比其它机器高。
5. 一个用户反映它的mecached的内存使用率不足50%,但是某个key经常刚set进去就get不出来。这个memcached池有4台memcached组成,我随机挑了两台stats,的确没有LRU发生。我换了另一个key,重现该问题。这是怎么回事?我想了很久,最后老老实实的在每台机器上stats,发现有一台机器的内存使用率很高,这台机器有LRU,我和用户的key都落在了这台机器上。因为其它3台机器最近重启过,这导致整体的内存使用率看起来很低。
6. 我觉得redis也免不了这些问题。
分享到:
相关推荐
Memcached相关jar: java_memcached-release_2.6.6.jar slf4j-api-1.5.8.jar slf4j-log4j12-1.5.8.jar log4j-1.2.15.jar commons-pool.jar
Memcached缓存数据库使用到的相关DLL文件.
文件详细描述了Memcached相关原理和使用方法,内容包括:Memcached原理介绍、Memcached安装和使用说明、Memcached使用的技巧等。
.Net中使用Memcached的相关资料整理.NET memcached client library
memcached和redis解决session一致问题相关jar(tomcat-7.0.61)
里面包括了Memcached的相关实例程序,提供给大家分享
压缩包中包括了memcached工具类,memcached服务端,memcached相关的jar文件,工具类中的初始化,基本设值,返回,删除的都写好了,测试的方法也有,各位有需要可以下载
本资源包含memcached-1.6.5安装手册及相关依赖包。
对于配置memcached-session-manager在tomcat下面的所有jar。
Memcached相关资料
2.spymemcached,支持异步,单线程的memcached客户端,用到了java1.5版本的concurrent和nio,存取速度会高于前者,但是稳定性不好,测试中常 报timeOut等相关异常。 3.xmemcached,XMemcached也使用得比较广泛,而且...
Tomcat +memcached 依赖jar包
压缩包里是我自己下载源码测试打包的memcached-session-manager-1.9.3 for tomcat6相关jar文件,序列化采用的是kryo-serializer。我的运行环境是:JDK1.6+TOMCAT6.0.45,MSM加Tomcat有一个特别大的坑是如果Tomcat版本是...
1)软件资源列表:《memcached-1.4.15.tar.gz》,《libevent-1.4.14b-stable.tar.gz》。 2)安装操作系统环境:CentOS-6.5,(其它linux操作系统请自行尝试)。 3)安装步骤详解:...
memcached完整jar包及实例,亲测能用!
用于新手入门memcached,带有memcached集群搭建教程。
Memcached For Classic ASP是Fasp组件关于Memcached操作的DEMO。 Fasp是Classic ASP的扩展组件,通过对Win API的封装对ASP的功能进行扩展。例如你可以通过Fasp轻松实现对Memcached...相关阅读 同类推荐:站长常用源码
memcache经典面试题答案,富含很多bat面试题,经典实用。
memcached 安装包及相关工具。memcached-1.4.22.tar.gz,magent6.tar.gz,memadmin-master.zip。
压缩包中包括memcached以及测试代码,相关扩展等 使用说明网站 http://blog.csdn.net/yuhui_fish/article/details/7762299 1先安装memcached 2.在php 目录下 E:\wamp\bin\php\php5.3.10\ext 将上述两个扩展放...