企业 LNMP架构 Memcached

本文详细介绍了Memcached的安装过程及如何通过PHP模块支持进行测试。包括memcache模块的安装配置,以及通过压力测试验证Memcached对web应用性能的提升。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Memchched

Memcached 的作用:官方的说法就是免费开放源代码、高性能、分布式内存对象缓存系统,本质上是通用的,但旨在通过减轻数据库负载来加速动态web应用程序。
也就是通过内存加载的方式来减少数据库的访问负担,从而可以高效的满足客户的需求。

安装Memcache

首先需要下载安装包,去给php加载模块支持memcache,这里需要的安装包是 memcache-4.0.5.2.tgz ,这个不是 memcached 安装程序
在这里插入图片描述
解压安装包
在这里插入图片描述
解压看到这个目录中并没有configur脚本供我们使用,这里要在 memcache-4.0.5.2目录中使用php的脚本:/usr/local/lnmp/php/bin/phpize ,脚本所在的位置就是按转php的目录,这里注意执行脚本前还需要安装 “autoconf” 这个包,yum就可以直接安装
在这里插入图片描述
执行完之后就可以看到configur脚本了,然后执行脚本,这里编译时需要添加的参数只需要指定命令安装的目录即可,安装到php的安装目录的bin目录里

[root@server5 memcache-4.0.5.2]# ./configure --with-php-config=/usr/local/lnmp/php/bin/php-config

编译完执行make && make install,就完成了。

同样php的解压包中也存有很多其他的模块可供使用
例:在 php-7.4.1/ext/ 目录下,有很多的模块,可以来测试添加openssl模块
在这里插入图片描述
openssl目录里也是没有configur脚本的,同样我们使用:/usr/local/lnmp/php/bin/phpize
在这里插入图片描述
执行出现报错,没有config.m4这个文件,但是在目录里看到有一个config0.m4文件,我们来改名测试能否使用
在这里插入图片描述
这样执行就成功了
在这里插入图片描述
还是预编译,添加的参数一个是支持openssl就是https功能,还有就是指定命令存放路径,预编译成功后再去make && make install 安装

[root@server5 openssl]# ./configure --with-openssl --with-php-config=/usr/local/lnmp/php/bin/php-config
php配置文件编辑

进入php的安装目录,找到配置文件:php/etc/php.ini
搜索extension配置,这里写入安装模块的路径
在这里插入图片描述
模块的路径在我们安装时最后的信息会展示出,列出这个路径可以看到我们安装的memcache 和 openssl 都在里面
在这里插入图片描述
在这里插入图片描述
将这个路径写入
在这里插入图片描述
路径写完后还需要写入指定的扩展模块名,扩展模块名就是刚才路径中的文件名
在这里插入图片描述
保存退出,然后查看这两个模块,可以看到都是存在的
在这里插入图片描述
重新加载,启动php就可以了
在这里插入图片描述

Memcached程序安装、配置

企业7.6版本里,有自带的memcached程序,可以直接使用安装,也可以自行在官网里下载最新版本进行安装
在这里插入图片描述
这里我使用的系统带的程序,执行 yum install 安装
配置文件信息命令查看: rpm -ql memcached-1.4.15-10.el7_3.1.x86_64
在这里插入图片描述
配置文件这里不需要做修改因为我们需要的是它去监听所有IP’地址

vim /etc/sysconfig/memcached

PORT="11211"		#开启的端口
USER="memcached"	#启用的用户
MAXCONN="1024"		#最大连接数
CACHESIZE="64"		#缓存大小
OPTIONS=""			#监听的配置

开启服务查看信息
在这里插入图片描述

对11211端口进行测试
需要使用telnet命令,如果没有yum可以直接安装

[root@server5 php]# telnet localhost 11211
Trying ::1...
Connected to localhost.
Escape character is '^]'.
set name 0 0 6 	#执行 set name 写入数据,第一个0表示编号,第二个0表示缓存时间0就是一直存在,第三个6表示字符数
redhat
STORED
get name	#获取缓存
VALUE name 0 6
redhat
END
delete name		#删除缓存
DELETED
get name		#删除后就获取不到信息了
END
quit		#退出测试
Connection closed by foreign host.
Memcache服务测试

首先将 memcache-4.0.5.2 这个模块的安装目录里的两个测试php页面复制到nginx里
在这里插入图片描述
在memcache.php页面里需要修改一些内容,这个文件里会给定一个登录的用户名和密码,可以自行修改,这里暂时不做修改,就是用默认的
在这里插入图片描述
下面需要配置服务器,将需要的服务器都可以添加进去,因为这里测试的只有主机一台,所以留一条就可以
在这里插入图片描述
保存退出,重加在nginx,打开浏览器进行访问测试
访问后就可以看到需要用户名密码登录,输入测试页面的信息

在这里插入图片描述
登录后就可以看到这个数据页面
在这里插入图片描述
重新开启一个页面访问使用 memcache 的 example.php 页面,并且刷新多次访问
在这里插入图片描述
再刷新memcache.php页面就可以看到访问是一直在是使用缓存的
在这里插入图片描述

使用另一台可以通信的主机进行压力测试,看看访问的速率是否有提升
分别访问 index.php 和 example.php

[root@sever4 ~]# ab -c 10 -n 10000 http://172.25.254.5/index.php
[root@sever4 ~]# ab -c 10 -n 10000 http://172.25.254.5/example.php

测试的对比很明显,index.php的访问时间长并且有近十分之一的失败
而通过memcache访问速度快,并且没有失败
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Howei__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值