高性能分布式内存对象缓存系统memcached进程(HIT )GET命中率有些低是什么原因?

[全站通告]如需人工一对一付费服务(业务),请加微信 2589053300 进行沟通处理-非诚勿扰

最近几天一直在想着如何把站搞快一下,但是好多都是无功而返,最近又盯上了Memcached,据说缓存效果还不错,但在我这里,确实用处依然不是很大,还是记录一下;

什么是Memcached

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。

Memcached基于一个存储键/值对的HashMap,它并不提供冗余(复制其HashMap条目),当某个服务器停止运行或崩溃了,所有存放在服务器上的键/值对都将丢失。但目前Memcached的客户端和代理程序可以提供多服务器的并联方式,可以提供一定的处理能力。

Memcached与其他分布式缓存的区别

Memcached与其它常用的分布式缓存(例如EhCache、OSCache、JBoss Cache)最主要的区别在于Memcached采用集中式缓存方式(即一台或多台缓存服务器为所有应用系统提供缓存能力),自身不提供集群能力,不提供缓存复制功能;而其他分布式缓存系统采用分布式缓存方式,各个应用系统内部提供数据缓存的能力,多个缓存间采用组播或点对点的方式进行缓存同步。

在性能上来看,Memcached比其它分布式缓存系统低一半以上(未考虑大量数据在其它缓存系统进行复制的影响);但从管理方面来看,Memcached的缓存采用集中管理的模式,应用系统可以水平扩展,而其它分布式缓存在水平扩展的同时,必须同时调整缓存复制策略,一旦应用服务器节点大量扩展,对于缓存服务器间的数据复制将成几何数增加。

memcached作为一个内存缓存扩展,在提升动态网站访问速度上有着优良的表现。对于memcached的执行效果来说,命中率是一个很重要的指标,很多情况下命中率都达到90%以上;一些站长发现自己的memcached命中率较低,甚至低于60%,除了排查代码外,网站自身的访问特点也是其命中率低的天然原因,比如老梁博客的命中率就不是太高,基本在保持85%左右;如下图

memcached进程命中率有些低的解说;

网站访问量太少,同一页面访问太少;
新访客比例较高,大量的访问都来自新访客;

新访客进入产生了一个key,每一次访问看几个页面就走了,产生了get。大量访问来自新访客set,命中率天然地就低了。

如需博主协助处理(收费),请加微信2589053300(非诚勿扰) --更多请关注:老梁`s Blog

所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!

支付宝赞助
微信赞助

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如您下载该资源,行为将被视为对《免责声明》全部内容的认可->联系老梁投诉资源
LaoLiang.Net部分资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:service@laoliang.net

转载请注明-老梁`s Blog(老梁博客,老梁IT技术博客) » 高性能分布式内存对象缓存系统memcached进程(HIT )GET命中率有些低是什么原因?

发表评论

本站承接,网站推广(SEM,SEO),软件的安装的安装与调试,服务器的推荐以及配置,APP的开发与维护,网络或者web维护;财务软件,客户管理系统,人力资源,超市POS,医药管理,服务器安全,ecshop,金蝶,用友,管家婆;

立即查看 了解详情