php服务缓存加速-创新互联

PHP服务加速缓存优化

公司主营业务:网站制作、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联建站是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联建站推出广东免费做网站回馈大家。

  PHP缓存原理:

    当客户端请求一个PHP程序时,服务器的PHP引擎会解析改PHP程序,并将其编译为特定的操作码(Operate Code 简称 opcode),

  改文件是执行PHP代码后的一种二进制表示形式。默认情况下,这个编译好的操作码文件由PHP引擎执行后丢弃。而操作码缓存的原理:

  将编译后的操作码保存下来,并放到共享内存中,下一次调用PHP时重用。(节省了PHP引擎的编译时间)

  LA(N)MP环境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引擎直接读取opcode文件。如果没有找到则重复1-4步。建立缓存。

补充知识:

  locale 计算机软件运行的语言环境:

    # locale

    LANG=en_US.UTF-8

    LC_CTYPE="en_US.UTF-8"

    LC_NUMERIC="en_US.UTF-8"

    LC_TIME="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=

locale 把按照所涉及到的使用习惯的各个方面分成12 大类,这12 个大类分别是:

  语言符号及其分类(LC_CTYPE)

  数字(LC_NUMBERIC)

  比较习惯(LC_COLLATE)

  时间显示格式(LC_TIME)

  货币单位(LC_MONETARY)

  信息主要是提示信息,错误信息,状态信息,标题,标签,按钮和菜单等(LC_MESSAGES)

  行么书写方式(LC_NAME)

  地址书写方式(LC_ADDRESS)

  电话号码书写方式(LC_TELEPHONE)

  度量衡表达方式(LC_MEASUREMENT)

  默认纸张尺寸大小(LC_PAPER)

  对locale 自身包含信息的概述(LC_IDENTIFICATION)

而这些信息的配置通常放在/usr/share/i18n/locales 目录下。

  部分软件需求Perl.为了解决Perl的一些环境问题带来错误。可以通过修改环境变量来避免。

   # echo 'export LC_ALL=C' >> /etc/profile

   # tail  -1 /etc/profile

   # source /etc/profile

  安装Perl相关的软件依赖包  # yum install perl-devel 或 # yum install perl-CPAN

  安装 PHP XCache 缓存加速模块

    X Cache 把PHP程序编译后的数据(opcode)缓存到共享内存里,避免相同的程序重复编译。

    用户请求相同的PHP程序时,可以直接使用缓存中已编译好的数据,提高访问速度。

    # wget https://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.bz2 --no-check-certificate

    # tar jxvf xcache-3.2.0.tar.bz2

    # /application/php/bin/phpize

  phpize 作用:用来扩展PHP扩展模块的,通过phpize可以建立PHP的外挂模块。

    提供软件包平台环境分析和编译安装的必须的工具。

    #./configure --enable-xcache --with-php-config=/application/php/bin/php-config

    # make

    # make install

    # ll /application/php5.5.38/lib/php/extensions/no-debug-non-zts-20121212/

    看看是否含有 xcache.so 表明 安装是否完成。

  安装数据库缓存及其它PHP扩展插件

    memcached缓存软件:mem内存 cache缓存。d 即daemon(服务器端进程模式服务)

    memcached分2部分:服务器端(memcached)和客户端(memcache)

  一般场景:数据存放在数据库中, web访问的时候,要不停的访问数据库。加入memcached好处:通过自身内存中缓存

  数据库的查询结果,减少数据库的访问次数,访问内存比访问硬盘效率要高。

  memcached的服务的工作步骤:

    1.先检查memcached服务的缓存中是否存在。如果存在直接返回请求数据

    2.memcached不存在数据,访问数据库

    3.数据库取出数据,返回给客户端

    4.同时把新取到的数据缓存一份给memcached服务缓存。备用。

  memcache 客户端PHP扩展插件(memcache2.2.7.tgz)

    # wget http://pecl.php.net/get/memcache-2.2.7.tgz

    # ./configure --enable-memcache --with-php-config=/application/php/bin/php-config

    # make

    # make install

    # ll /application/php5.5.38/lib/php/extensions/no-debug-non-zts-20121212/

    是否包含 memcache.so

  安装:PDO_MYSQL扩展模块

  下载地址:# wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz

  一般在编译PHP的时候以参数的形式加入此模块:--with-pdo-mysql=mysqlnd

  如果源码包编译安装和前面的安装无异(略步骤)

    平台分析如下:

    # ./configure --with-php-config=/application/php/bin/php-config --with-pdo-mysql-mysql=/application/mysql

  安装图像处理程序及imagick 扩展模块

    安装图像软件:ImageMagick

    安装imagick模块

    # wget http://pecl.php.net/get/imagick-3.4.3.tgz

    # /application/php/bin/phpize

    # ./configure --with-php-config=/application/php/bin/php-config

  配置模块生效:修改php.ini文件。把加载模块的地址修改。

     extension_dir = "/application/php/lib/php/extensions/no-debug-non-zts-20121212"

     extension=memcache.so

     extension=imagick.so

  配置XCache 插件加速

    1.首先修改 xcache 自带的配置文件  xcache.ini ,然后将修改的文件添加到 php.ini(引擎文件)文件的后面

    # grep -vE "^;|^$" /data/xcache-3.2.0/xcache.ini > xcache.ini.bak

    其中主要修改:一下参数

    xcache.size  =        256M

    xcache.count =         2

    xcache.ttl  =         86400

    xcache.gc_interval =      3600

    xcache.var_size  =       64M

    **** xcache.size  非0表示启用缓存。后面的数值代表允许mmap(一种内存共享机制)的大值

    xcache.count   官方推荐服务器CPU的个数  # grep -c processor /proc/cpuinfo(匹配CPU个数)

    xcache.ttl   ttl(time to live) 设定cache对象的生存期

    xcache.gc_interval    回收器扫描过期对象回收内存空间的时间间隔(如果设为0.则不回收,启动缓存必须开启回收)

    xcache.var_size     变量的缓存

    # cat xcache.ini.bak >> /application/php/lib/php.ini

    因为 XCache 使用共享内存作为存储空间,如果有必要可以调整共享内存大小参数。

    # tail /etc/sysctl.conf

    kernel.msgmnb = 65536

    # Controls the maximum size of a message, in bytes

    kernel.msgmax = 65536

    # Controls the maximum shared segment size, in bytes

    kernel.shmmax = 68719476736

    # Controls the maximum number of shared memory segments, in pages

    kernel.shmall = 4294967296

    2.重新启动PHP查看xcache加载情况

    # pkill php-fpm

    # /application/php/sbin/php-fpm

    # /application/php/bin/php -v

    PHP 5.5.38 (cli) (built: Feb  1 2017 22:43:58)

    Copyright (c) 1997-2015 The PHP Group

    Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies

      with XCache v3.2.0, Copyright (c) 2005-2014, by mOo

      with XCache Cacher v3.2.0, Copyright (c) 2005-2014, by mOo

    3.配置web界面的查看xcache缓存加速信息。

      修改php.ini 文件中的

      xcache.admin.user = "mOo"   #把mOo 替换

      xcache.admin.pass = "md5 encrypted password"

      # 这里是利用md5算法生成加密串

      例如:

      # echo -n '123456' | md5sum

      e10adc3949ba59abbe56e057f20f883e  -

      将内容替换成e10adc3949ba59abbe56e057f20f883e

php服务缓存加速

      引用xcache相关的页面;

      # cd /data/xcache-3.2.0

      # cp -a ./htdocs/ /application/nginx/html/blog/xadmin

      #  chown -R nginx.nginx /application/nginx/html/blog/xadmin

      # pkill php-fpm

      # /application/php/sbin/php-fpm

  下面附上 :压测效果对比:(昨天为没有加入xcache缓存的数据,右边为加入xcache缓存效果)

php服务缓存加速

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

当前名称:php服务缓存加速-创新互联
网站路径:https://www.cdcxhl.com/article10/dijido.html

成都网站建设公司_创新互联,为您提供外贸建站网站收录企业网站制作搜索引擎优化商城网站网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

营销型网站建设