设为首页 收藏本站
查看: 2024|回复: 1

LNMP架构添加memcached

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-9-22 09:31:17 | 显示全部楼层 |阅读模式
LNMP架构添加memcached支持,并完成对缓存效果的测试报告;
         memcache由LiveJournal的Brad Fitzpatrick开发,是一个自由、高性能、分布式的分布式内存对象缓存系统,
         用于动态Web应用以减轻数据库的负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度。
         MemCaChe是一个存储键值对的HashMap,在内存中对任意的数据(比如字符串、对象等)所使用的key-value存储,
         数据可以来自数据库调用、API调用,或者页面渲染的结果。

测试环境为:   服务器为192.168.1.188    centos7.2         用一台服务器测试:
一、创建LNMP架构:
[iyunv@node1 ~]#yum install mariadb-server -y                                                ###安装mariadb
[iyunv@node1 ~]#vim /etc/my.cnf                    
skip_name_resolve= ON
innodb_file_per_table= ON
[iyunv@node1 ~]#systemctl start mariadb.service
[iyunv@node1 ~]#yum install php-fpm php-mysql php-mbstring php-gd php-xml -y      
###安装php-fpm   
[iyunv@node1 ~]#systemctl start php-fpm   
[iyunv@node1 ~]#yum install nginx -y                                                                ###安装nginx
[iyunv@node1nginx]# vim /etc/nginx/nginx.conf                                               ###编辑nginx配置
         location ~ \.php$ {
                   root html;
                   fastcgi_pass    127.0.0.1:9000;
                   fastcgi_index   index.php;
                   fastcgi_param SCRIPT_FILENAME/usr/share/nginx/html$fastcgi_script_name;
                   include               fastcgi_params;
         }

[iyunv@node1 ~]#systemctl start nginx

二、下面我们来使用memcached:
[iyunv@node1 ~]#yum install memcached -y                              ###安装memcached
[iyunv@node1 ~]#systemctl start memcached.service
[iyunv@node1 ~]# ss-tunl                                                            ###监听在tcp和udp  11211端口
udp    UNCONN    0      0             :::11211                     :::*                 
tcp    LISTEN    0      128            *:11211                      *:*         
mencached默认工作于文本协议,使用telnet来连接:
[iyunv@node1 ~]#yum -y install telnet
[iyunv@node1 ~]#telnet 192.168.0.188 11211
Trying192.168.0.188...
Connected to192.168.0.188.
Escape characteris '^]'.
stats                                                                                      ###列出当前MemCache服务器的状态
STAT pid 3540                                                                      ###进程id
STAT uptime 25383                                                              ###运行时间
STAT time1503608657                                                         ###当前时间戳
STAT version1.4.15                                                               ###版本号
STAT libevent2.0.21-stable                                                   ###libvent版本
STAT pointer_size64                                                             ###当前操作系统的指针大小
STAT rusage_user1.063021                                                  ###进程的累积用户时间
STAT rusage_system0.664388                                              ###累积系统时间
STATcurr_connections 10                                                     ###服务器当前存储的items数量
STATtotal_connections 11                                                    ###启动以后存储的items总数量
STATconnection_structures 11                                             ###服务器分配的连接构造数
STAT reserved_fds20
STAT cmd_get 0                                                                     ### get命令(获取)总请求数
STAT cmd_set 0                                                                      ### set命令(获取)总请求数
STAT cmd_flush 0                                                                   ### flush命令请求数
STAT cmd_touch 0                                                                  ### touch命令请求次数
STAT get_hits 0                                                                       ###总命中次数
STAT get_misses 0                                                                  ###未命中次数
STAT delete_misses0                                                              ### delete命令未命中次数
STAT delete_hits 0                                                                  ### delete命中次数
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misses0
STAT auth_cmds 0                                                             ###认证命令处理次数
STAT auth_errors 0                                                            ###认证失败数
STAT bytes_read 19                                                           ###总读取字节数(请求字节数)
STAT bytes_written14                                                        ###总发送字节数(结果字节数)
STATlimit_maxbytes 67108864                                      ###分配给memcached的内存大小(字节)
STATaccepting_conns 1                                                     ###服务器是否达到最大连接(0/1
STATlisten_disabled_num 0                                                ###失效的监听数
STAT threads 4                                                                   ###当前线程数
STAT conn_yields 0                                                            ###连接操作主动放弃数
STAThash_power_level 16
STAT hash_bytes524288
STAThash_is_expanding 0
STAT bytes 0                                                                         ###当前存储占用的字节数
STAT curr_items 0                                                                 ###当前存储的数据总数
STAT total_items 0                                                                ###启动以来存储的数据总数
STATexpired_unfetched 0
STAT evicted_unfetched0
STAT evictions 0
STAT reclaimed 0                                                             ###已过期的数据条目来存储新数据的数目
END
[iyunv@node1 ~]#yum install libmemcached  -y     ### 提供工具程序的程序包

三、安装PHP的memcached的扩展
php连接memcached服务的模块有两个,php-pecl-memcache和php-pecl-memcached.
若要安装php-pecl-memcached需要依赖libmemcached程序包,可以提供相应操作查看memcached的工具。
在这里为方便演示就直接使用php-pecl-memcache扩展模块。
[iyunv@node1 ~]#yum install php-pecl-memcache -y
测试PHP是否支持Memcached
[iyunv@node1 ~]#vim /usr/share/nginx/html/index.php      
<?php
phpinfo();
?>

四、测试memcached缓存
[iyunv@node1 ~]# vim/usr/share/nginx/html/test.php          ###编辑测试页
<?php
   $mem = new Memcache;
   $mem->connect("127.0.0.1", 11211)  or die("Could not connect");

   $version = $mem->getVersion();
   echo "Server's version: ".$version."<br/>\n";

   $mem->set('hellokey', 'Hello World', 0, 600) or die("Failed tosave data at the memcached server");
   echo "Store data in the cache (data will expire in 600seconds)<br/>\n";

   $get_result = $mem->get('hellokey');
   echo "$get_result is from memcached server.";        
?>
如果有输出“Hello World is from memcached.”等信息,则表明memcache已经能够正常工作。


查看MemCache服务器的状态:
命中24次



运维网声明 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-404906-1-1.html 上篇帖子: LAMP平台搭建脚本 下篇帖子: CenOS 7 rpm包安装lamp
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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