您的位置:首页 > 数据库 > Memcache

Linux运维之LNMP架构(memcache)

2019-06-29 22:58 1331 查看

Linux运维之LNMP架构(memcache)

  • 什么是memcache

memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著

Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。

  • memcache在lnmp架构中的部署

将phpize加入环境变量
phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块,比如你想在原来编译好的php中加入memcached或者ImageMagick等扩展模块,可以使用phpize。

vim ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin:/usr/local/lnmp/php/bin

source ~/.bash_profile



memecache的编译安装

tat zxf memcache-2.2.5.tgz
yum install autoconf
phpize


cd /memcache-2.2.5/
phpize
/.configure
make && make install



修改php主配置文件,增加memcache模块
并重新加载php

vim /usr/local/lnmp/php/etc/php.ini
873 extension=memcache.so
/etc/init.d/php-fpm reload



查看是否加载成功

php -m | grep memcache
php -m | grep mysql


安装memcached

yum install -y memcached


查看memcached的配置文件

cat /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="1024" ##最大链接数1024
CACHESIZE="64"
OPTIONS="" (如果写为OPTIONS="-l 127.0.0.1" 即为只监听本机的11211端口)


启动memcached

systemctl start memcached


telnet测试

yum install telnet -y

telnet localhost 11211
stats(查看状态)
set name 0 0 6 (0编号 0缓存时间(此处0代表不限制时间) 6限制字符数) key:name;编号:0;缓存时间:0(永久)valuce值:6位
westosawd
CLIENT_ERROR bad data chunk
ERROR
westos
STORED
get name
VALUE name 0 6
westos
END
delete name
DELETED
set name 0 5 6		##设置缓存5s,过5s再获取name,为空
westos
STORED
get name
END
quit	#退出


拷贝php页面到nginx默认发布目录

cd /lnmp安装包/memcache-2.25
cp memcache.php example.php /usr/local/lnmp/nginx/html/


修改memcache.php内容

vim memcache.php
define('ADMIN_USERNAME','memcache');    ## Admin Username(自定义)
define('ADMIN_PASSWORD','westos');      ## Admin Password(自定义)
$MEMCACHE_SERVERS[] = '172.25.230.5:11211'; // add more as an array
#$MEMCACHE_SERVERS[] = 'mymemcache-server2:11211'; // add more as an array
只留一个主机,memcache没有转发或负载均衡机制,只能一个一个添加(因为本实验只有一个主机,其实可以添加多个)



测试:
开启ngixn打开浏览器

nginx
nginx -t
nginx -s reload
172.25.11.4/memcache.php



压力测试:
在真机上

ab -c 10 -n 5000 http://172.25.11.4/index.php #10个并发,5000个请求
ab -c 10 -n 5000 http://172.25.11.4/example.php





通过对比发现
前者很慢,因为没有缓存,而且failed比较多后者很快,因为有访问缓存,而且没有failed的

END

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: