ouzhoudijie 发表于 2018-12-17 06:42:19

Xcache加速php缓存笔记

                        Php缓存和优化实战
缓存原理:
      当用户请求一个php程序的时候,服务器的php引擎根据客户端请求解析php,并将其编译的编码为特定的操作码,默认情况下,php解析完之后会自动丢弃这个解析的操作码,而操作码缓存会将用户请求解析的源码放到共享内存里,方便下次调取,这样就大大减少了cpu的负载量

LNMP php缓存过程
1首先客户端向服务器申请php请求
2服务端收到客户端请求后,会将这个信息交给php引擎,也就是fastcgi(php-fpm)进行处理,LAMP用的apache自带的插件(libso)。
3php-fpm调用php解析器来读取站点磁盘的php文件,加载到内存中
4php解析器将php程序编译成opcode文件,然后缓存起来
5php程序将opcpde执行后,返回给nginx,然后返回客户端
6nginx再次接受客户端请求,会直接从opcode调取,这样就不用执行第4部,方便简洁

Php缓存加速器:
常见的有xcache,eAccelerator,zendOpcache,在企业中常用的还是xcache,其次是eAccelerator。
那么现在开始安装缓存加速软件
环境准备:
就按照我之前的LNMP环境搭建了,有需要的可以看看文档。
查看nginx web版本
# /application/nginx/sbin/nginx -v
nginx version: nginx/1.6.2
Php版本
# /application/php/bin/php -v
PHP 5.3.28 (cli) (built: Apr 16 2016 03:56:50)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies

Mysql版本
# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.32 MySQL Community Server (GPL)

LNMP缓存提示:
不论是Apache还是nginx,最后都是通过php提供动态解析程序来进行的,不论是Apache的libphp5.so模块模式,还是nginx的fastcgi模式,都是一样的,php引擎优化都是一致的,都是基于php服务(php.ini)来进行的,两者之间无差异!

安装php缓存加速器
那么我在这里直接用xcache缓存软件了。
首先下载xcache
# wget http://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.bz2
# ./configure--enable-xcache --with-php-config=/application/php/bin/php-config
# make
Don't forget to run 'make test'. 出现这个成功,继续install
# make install
Installing shared extensions:   /application/php/lib/php/extensions/no-debug-non-zts-20090626/
查看有没有xcache.so文件有代表成功
# ls -l /application/php/lib/php/extensions/no-debug-non-zts-20090626/xcache.so
-rwxr-xr-x. 1 root root 6537724月 16 22:14 /application/php/lib/php/extensions/no-debug-non-zts-20090626/xcache.so

验证xcache
修改php.ini 配置xcache
# cd /application/php/lib/
# ls
phpphp.ini
# echo>>php.ini
# echo ';xcache config by xiaohu 20160419--------------' >> php.ini
# tail -2 php.ini

;xcache config by xiaohu 20160419--------------
编辑xcache.ini 修改相关配置参数
# vim xiaohu/xcache-3.2.0/xcache.ini
将修改后的xcache加载到php.ini
# cat xiaohu/xcache-3.2.0/xcache.ini>> /application/php/lib/php.ini
查看修改的参数,只修改了相关的参数

检查xcache缓存加速情况
再次执行php命令,查看缓存生效情况
  




页: [1]
查看完整版本: Xcache加速php缓存笔记