设为首页 收藏本站
查看: 947|回复: 0

[经验分享] 利用memcached+三款缓存监控 打造强大的memcached缓存服务器

[复制链接]

尚未签到

发表于 2018-12-25 12:52:55 | 显示全部楼层 |阅读模式
memcached 简介
  memcached 简介
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。
  在中型网站中的应用
使用Memcache的网站一般流量都是比较大的,为了缓解数据库的压力,让Memcache作为一个缓存区域,把部分信息保存在内存中,在前端能够迅速的进行存取。那么一般的焦点就是集中在如何分担数据库压力和进行分布式,毕竟单台Memcache的内存容量的有限的。我这里简单提出我的个人看法,未经实践,权当参考。
[分布式应用]
Memcache本来支持分布式,我们客户端稍加改造,更好的支持。我们的key可以适当进行有规律的封装,比如以user为主的网站来说,每个用户都有UserID,那么可以按照固定的ID来进行提取和存取,比如1开头的用户保存在第一台Memcache服务器上,以2开头的用户的数据保存在第二台Mecache服务器上,存取数据都先按照User ID来进行相应的转换和存取。
但是这个有缺点,就是需要对User ID进行判断,如果业务不一致,或者其他类型的应用,可能不是那么合适,那么可以根据自己的实际业务来进行考虑,或者去想更合适的方法。
[ 减少数据库压力]
  [ 减少数据库压力]
这个算是比较重要的,所有的数据基本上都是保存在数据库当中的,每次频繁的存取数据库,导致数据库性能急剧下降,无法同时服务更多的用户,比如MySQL,特别频繁的锁表,那么让Memcache来分担数据库的压力吧。我们需要一种改动比较小,并且能够不会大规模改变前端的方式来进行改变目前的架构。
  

DSC0000.jpg

  ---------------------------------------------开始安装--------------------------------------
  解决依赖:
  1、yum install zlib-* zlib*
  安装libevent(memcached 对此软件依赖很多,一定要安装)
  wget https://github.com/downloads/libevent/libevent/libevent-1.4.11-stable.tar.gz
  ./configure --prefix=/usr/local/libevent
  make && make install
  安装memcached
  wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz
  ./configure -prefix=/usr/local/memcached --with-libevent=/usr/local/libevent
  make && make install
  export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/libevent/lib
  ln -s /usr/local/libevent/lib/libevent* /lib64/
  启动memcached 服务端
  /usr/local/memcached/bin/memcached -d -m 128 -l 127.0.0.1 -p 11211 -u root
  启动参数详解:
-d 选项是启动一个守护进程-m是分配给Memcache使用的内存数量,单位是MB,我这里是128MB
-u 是运行Memcache的用户,我这里是root
-l 是监听的服务器IP地址,如果有多个地址的话,这里指定了服务器的IP地址127.0.0.1
-p 是设置Memcache监听的端口,这里设置了11211,最好是1024以上的端口,这里使用默认端口11211
-c 选项是最大运行的并发连接数,默认是1024,按照你服务器的负载量来设定
-P 是设置保存Memcache的pid文件,这里是保存在/var/run/memcached.pid
  
memcached 的启动和关闭:
启动:
  1、/usr/local/memcached/bin/memcached -d -m 128 -l 127.0.0.1 -p 11211 -u root -P /var/run/memcached.pid
关闭:  killall -9 memcached     或者  kill `cat /var/run/memcached.pid`
  实时取得stats数据:
  echo stats | nc 127.0.0.1 11211
  循环实时状态:
  watch “echo stats | nc 127.0.0.1 11211”
  测试memcached 安装启动成功
  telnet 127.0.0.1 11211
  输入
  stats
  退出telnet :ctrl + ]    然后输入quit
  memcached监控
  、memcache.php 这个东东算是最简单的了,只要支持php环境就能用,把这个文件放到你的网页存放目录下就可以了访问方法 http://ip/memcache.php

  下载地址 http://livebookmark.net/memcachephp/memcachephp.zip
        http://blogimg.chinaunix.net/blog/upfile2/081230231118.zip
需要注意的是,使用之前要修改里面的几个选项
vim memcache.php
.....
define('ADMIN_USERNAME','memcache');    // 定义用户名
define('ADMIN_PASSWORD','password');    // 定义密码
.....
$MEMCACHE_SERVERS[] = 'mymemcache-server:11211'; //定义要查看的ip和端口
$MEMCACHE_SERVERS[] = 'mymemcache-server2:11212'; //可添加多个
其他内容略
上面的图就是访问时的效果,是不是很直观?

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-655712-1-1.html 上篇帖子: Key/Value之王Memcached初探:一、掀起Memcached的盖头来 下篇帖子: #Memcached系列#(3)Windows 8.1企业版 64位操作系统安装Jellycan版本的Memcached
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表