PHP服务加速缓存优化
,,PHP缓存原理:
,,,,当客户端请求一个PHP程序时,服务器的PHP引擎会解析改PHP程序,并将其编译为特定的操作码(操作代码简称操作码),
,,改文件是执行PHP代码后的一种二进制表示形式。默认情况下,这个编译好的操作码文件由PHP引擎执行后丢弃。而操作码缓存的原理:
,,将编译后的操作码保存下来,并放到共享内存中,下一次调用PHP时重用。(节省了PHP引擎的编译时间)
,,洛杉矶(N)议员环境PHP缓存加速器的原理:
,,1)apache (nginx)接收到客户端PHP的程序访问请求。
,,2)apache (nginx)把程序传递给PHP处理模块libphp5.so (PHP的FCGI——php-fpm)进程。
,,3)PHP引擎(php-fpm进程)读取磁盘上的PHP文件,并将器加载到内存中解析。
,,4)PHP处理模块libphp5.so (PHP解析器PHP . ini)将PHP源码编译成cpdode,把cpcode缓存起来。
,,5)apache (nginx)接收到客户端的请求后,PHP引擎直接读取操作码文件。如果没有找到则重复1 - 4步。建立缓存。
补充知识:
,,地区计算机软件运行的语言环境:
,,,,#地区
,,,,LANG=en_US。utf - 8,,,,,,,
,,,,LC_CTYPE=" en_US.UTF-8 "
,,,,LC_NUMERIC=" en_US.UTF-8 "
,,,,而=" en_US.UTF-8 "
,,,,LC_COLLATE=" en_US.UTF-8 "
,,,,LC_MONETARY=" en_US.UTF-8 "
,,,,LC_MESSAGES=" en_US.UTF-8 "
,,,,LC_PAPER=" en_US.UTF-8 "
,,,,LC_NAME=" en_US.UTF-8 "
,,,,LC_ADDRESS=" en_US.UTF-8 "
,,,,LC_TELEPHONE=" en_US.UTF-8 "
,,,,LC_MEASUREMENT=" en_US.UTF-8 "
,,,,LC_IDENTIFICATION=" en_US.UTF-8 "
,,,,LC_ALL=
地区把按照所涉及到的使用习惯的各个方面分成十二大类,这12个大类分别是:
,,语言符号及其分类(LC_CTYPE)
,,数字(LC_NUMBERIC)
,,比较习惯(LC_COLLATE)
,,时间显示格式(而)
,,货币单位(LC_MONETARY)
,,信息主要是提示信息,错误信息,状态信息,标题,标签,按钮和菜单等(LC_MESSAGES)
,,行么书写方式(LC_NAME)
,,地址书写方式(LC_ADDRESS)
,,电话号码书写方式(LC_TELEPHONE)
,,度量衡表达方式(LC_MEASUREMENT)
,,默认纸张尺寸大小(LC_PAPER)
,,对地区自身包含信息的概述(LC_IDENTIFICATION)
而这些信息的配置通常放在/usr/share/i18n/地区目录下。
,,部分软件需求Perl。为了解决Perl的一些环境问题带来错误。可以通过修改环境变量来避免。
,,,#回声出口LC_ALL=C的祝辞祝辞/etc/profile
,,,#尾1/etc/profile
,,源/etc/profile, #
,,安装Perl相关的软件依赖包,# yum安装perl-devel或# yum安装perl-CPAN
,,安装PHP XCache缓存加速模块
,,,,X缓存把PHP程序编译后的数据(操作码)缓存到共享内存里,避免相同的程序重复编译。
,,,,用户请求相同的PHP程序时,可以直接使用缓存中已编译好的数据,提高访问速度。
,,,,# wget https://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.bz2——no-check-certificate
,,,,#焦油jxvf xcache-3.2.0.tar.bz2
,,,,#/应用程序/php/bin/phpize
,,phpize作用:用来扩展PHP扩展模块的,通过phpize可以建立PHP的外挂模块。
,,,,提供软件包平台环境分析和编译安装的必须的工具。
,,,,#。/configure——enable-xcache with-php-config=/应用程序/php/bin/php-config
,,,,#让
,,,,#让安装
,,,,#你/应用程序/php5.5.38/lib/php/扩展/不-调试-非zt型- 20121212/
,,,,看看是否含有xcache。所以表明安装是否完成。
,,安装数据库缓存及其它PHP扩展插件
,,,,memcached缓存软件:mem内缓存缓存存.d即守护进程(服务器端进程模式服务)
,,,,memcached分2部分:服务器端(memcached)和客户端(memcache)
,,一般场景:数据存放在数据库中,web访问的时候,要不停的访问数据库。加入memcached好处:通过自身内存中缓存
,,数据库的查询结果,减少数据库的访问次数,访问内存比访问硬盘效率要高。
,,memcached的服务的工作步骤:
,,,,1 .先检查memcached服务的缓存中是否存在。如果存在直接返回请求数据
,,,,2. memcached不存在数据,访问数据库
,,,,3 .数据库取出数据,返回给客户端
,,,,4 .同时把新取到的数据缓存一份给memcached服务缓存。备用。
,,PHP memcache客户端扩展插件(memcache2.2.7.tgz)
,,,,# wget http://pecl.php.net/get/memcache-2.2.7.tgz
,,,,# ./configure——enable-memcache with-php-config=/应用程序/php/bin/php-config
,,,,#让
,,,,#让安装
,,,,#你/应用程序/php5.5.38/lib/php/扩展/不-调试-非zt型- 20121212/