zoukankan      html  css  js  c++  java
  • Memcache学习笔记一

    过年期间,看了一些Memcache的资料,整理了一个PPT。

    收获最大的部分,我觉得是在应用上如何更好的对缓存进行使用和处理,来解决 Cache Stamples 的问题。通常只进行一次缓存判断的逻辑,在应对高并发的访问时,经常会引起问题,因此增加锁机制和Mutex就非常必要。

    Memcache服务器的状态

    如果有人反映memcache链接比较慢的时候,可以按照下面的步骤来进行查看

    首先检查Memcached服务器组的 listen_disabled_num 参数,这个参数表明了这台服务器曾经达到最大连接的次数,这个数字当然是越小越好,如果这个数字不断快速的增长,我们就该小心我们的服务了。

    accepting_conns 这个参数与上一个有关,我们可以简单的查看这个值是 1 或者 0 来判断服务器是否达到过最大连接。

    curr_connections 这个状态显示了当前连接到服务器上的数量,注意这个数字不要超过设置的最大值

    limit_maxbytes 当前服务器可以使用的最大内存数量,实际上服务器中的 memcached 进程占用的内存会比这个数字大一些

    cmd_flush 服务器上执行了 flush_all 的次数

    evictions 这个数字表示一些项目还没有过期,但是因为 slab 中已经没有可用的空间,导致最后根据LRU算法被剔除的情况

    一些统计数值

    缓存命中率:计算公式 get_hits / ( get_hits + get_misses ) 服务器的缓存命中率,越高越好

     

    另外,可以使用下面这个脚本进行服务器的测试

    测试脚本:http://consoleninja.net/code/memcached/mc_conn_tester.pl

     

    利用Cacti监控Memcached

    Cacti作为一套成熟的系统,可以用来绘制与Memcached相关的各种统计图表。下面提供的插件可以结合Cacti进行绘图,但是需要下面几个要求:1、系统已经安装了Cacti;2、已经安装好了Memcached;3、Cacti的机器上同时安装了Python;4、安装了Python的Memcached客户端。

    下面是一些截图

    image

    下载Cacti取数据的脚本:Cacti-memcached-1.0.tar.gz

    安装配置过程:
    1、下载Python的客户端API,python-memcached-1.47.tar.gz
    2、解压后安装

    tar –xvzf python-memcached-1.47.tar.gz

    python setup.py install

    3、下载Cacti的模板,Cacti-memcached-1.0.tar.gz

    4、解压缩,然后将 memcached.py 拷贝到 cacti 的 /scripts/ 目录中
    5、为了确认这个脚本是否能够正常运行,可以运行脚本进行测试

    python memcached.py hostname

    image

    正常情况下,我们可以取得所连接服务器的一些数据。

    6、登录进入Cacti系统,选择导入模板,选择我们下载的模板中的 cacti_memcached_host_template.xml 文件,其它选项保持默认,进行保存

    此时,我们在Cacti系统中引入模板就已经完成了,你会看到成功的提示,并且有一些相关的信息显式或者一些报错的界面。如果没有成功,可以参考这里的帮助

    7、系统的配置和使用

    安装完成后,我们可以在新建Device时看到对应的模板,如下图

    image

    对于已经存在的Device,也可以在Associated Graph Templates中选择对应的模板

    image

    8、之后就可以在Graph中看到对应图表了。

     

     

    Technorati 标签: ,,,

    参考资料
    1、Memcached Wiki Timeouts
    2、利用Cacti监控Memcached
    3、Memcached数据被踢现象分析(evicitions>0)

  • 相关阅读:
    C#磁吸屏幕窗体类库
    准备
    我写的诗
    How to turn off a laptop keyboard
    How to tell which commit a tag points to in Git?
    Why should I care about lightweight vs. annotated tags?
    How to get rid of “would clobber existing tag”
    Facebook, Google and Twitter threaten to leave Hong Kong over privacy law changes
    The need for legislative reform on secrecy orders
    Can a foreign key be NULL and/or duplicate?
  • 原文地址:https://www.cnblogs.com/cocowool/p/1988249.html
Copyright © 2011-2022 走看看