memcached性能监控

来源:互联网 发布:阿里云 青岛 编辑:程序博客网 时间:2024/04/29 10:36

我给大家介绍了如何在Windows平台上部署Memecached服务端,如何在.NET平台中应用Memcached,详细介绍了两种流行的客户端组件的配置,使用(存储、取值、替换、删除、缓存时间设定等),优缺点等。在我们的测试项目中,主要是针对“单台服务器”的应用场景。

事实上,在我们实际开发中,往往需要多台服务器。这样才能形成真正的“分布式架构”,才能更好的发挥memcached的巨大优势。当然,也不是绝对优势。任何架构都不可能绝对完美。回顾一下memcached的基本原理,其实就是在内存中维护一张巨大的hash表嘛。通俗点说,就是通过键值对的方式将数据缓存在服务器内存中,降低数据库服务器的负载,更重要的就是,数据库的性能瓶颈主要在于I/O环节(这也是关系型数据库最大的弱点,虽然具有良好的稳定性,但面对日益暴涨的用户数量,海量数据,高并发等问题,确实很难应付。所以近一两年,很多开源团队和技术爱好者很推崇“NoSql”技术)。稍微懂点计算机的都知道,内存的读写肯定要比磁盘I/O操作效率高很多。但是有了memcached就能彻底的放弃传统“关系型数据库”吗?当然不是,memcached这东西用不好,可能反而会降低性能,而且还可以造成致命的数据丢失。

开始思考一些问题,在多台memcached服务器共存的情况下,数据到底是如何存储的呢?如果是数据是实时同步的话,那同步工作到底是如何完成的呢?是服务器端的机制还是客户端的操作?假如是分布存储的,那么其中一台服务器宕机之后,那数据不就是丢失了吗?还有就是,如何才能真正实现多台memcached服务器的“负载均衡”呢?

带着这些疑惑,动手进入实例。通过反复的测试,监控,得出结论。往往比听别人的更可靠(有些技术或者理论,就算官方的也可能有出错或者遗漏)。


这里,首先推荐两款memcached的性能监视工具。通过工具,我们能够清楚的看到,数据是如何分布在多台服务器内存中的,读取/设置的操作次数等信息。

第一款工具,名字叫MemCacheDManager,下载地址:http://download.csdn.net/detail/dinglang_2009/3843109。

这是一款基于.NET技术开发的memcached管理工具,界面非常简单,操作也很方便。下载安装后,目录如图所示:


使用最新版的memcached.exe,替换掉BinaryFiles目录下的memcached.exe(老版本的)。

可以看看该管理工具的界面:

监控界面如下:


原创粉丝点击