PHP与各加速工具的性能对比

2014 年 5 月 22 日3390

PHP与各加速工具的性能对比

发布者:chinaitlab

 日期:

2014-05-12 05:43:14 浏览次数:0 (共有_条评论)

查看评论 | 我要评论

  Xcache简介

  前面已经介绍了PHP加速器的原理和功用(参见LAMP架构之PHP-FPM 服务器),xcache作为目前使用广泛的PHP加速器之一,其性能比早期的eAccelerator加速器要优良,故本次就对比一下PHP程序在执行时加速器xcache对其的性能影响。

  安装xcache

  复制代码

  # 安装

  tar xf xcache-3.0.3.tar.gz

  cd xcache-3.0.3

  /usr/local/php/bin/phpize # xcache是作为php的外接模块安装的

  ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config

  make && make install

  # 安装结束时,会出现类似如下行:

  Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/

  # 编辑php.ini,整合php和xcache:

  # 首先将xcache提供的样例配置导入php.ini

  mkdir /etc/php.d # 这是前面安装PHP时配置的配置文件扫描目录

  cp xcache.ini /etc/php.d # xcache.ini文件在xcache的源码目录中。

  # 接下来编辑/etc/php.d/xcache.ini,找到extension开头的行,修改为如下行:

  extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/xcache.so

  # 如果php.ini文件中有多条extension指令行,要确保此新增的行排在第一位。

  # 查看xcache是否已安装成功:

  /usr/local/php/bin/php -m |grep -i xcache

  复制代码

  Opcache简介

  新一代PHP加速器,由Zend公司研发,其实现原理与Xcache类似,都是把PHP执行后的数据缓冲到内存中从而避免重复的编译过程,能够直接使用缓冲区已编译的代码从而提高速度,降低服务器负载,但性能却比Xcache更加优越,详见测试结果

  安装Opcache

  复制代码

  wget http://http://www.zjjv.com///get/zendopcache-7.0.2.tgz

  tar xzf zendopcache-7.0.2.tgz

  cd zendopcache-7.0.2

  /usr/local/php/bin/phpize

  ./configure --with-php-config=/usr/local/php/bin/php-config

  make

  make install

  # 配置文件设置,可直接在php.ini的最后添加如下内容,但在此在PHP配置文件的扫描目录php.d下配置新文件opcache.ini,易于管理,php-config-scan-dir是在编译安装PHP时定义的

  # vi /etc/php.d/opcache.ini

  [opcache]

  zend_extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/opcache.so

  opcache.memory_consumption=128 # 分配的内存大小,单位MB,即能够存储多少预编译的PHP代码

  opcache.interned_strings_buffer=8 # interned字符串占内存大小,单位MB

  opcache.max_accelerated_files=4000 # 允许缓存的文件最大数量

  opcache.revalidate_freq=60 # 多长时间检查文件时间戳,以改变共享内存分配,单位为s

  opcache.fast_shutdown=1 # 是否开启快速关闭队列功能,1为开启

  opcache.enable_cli=1 # 允许缓存CLI下的PHP程序

  #检查模块安装成功:/usr/local/php/bin/php -m |grep -i opcache

  复制代码

  hhvm简介

  HipHop VM(HHVM)是Facebook推出的用来执行PHP代码的虚拟机,它是一个PHP的JIT(Just-In- Time)编译器,同时具有产生快速代码和即时编译的优点;

  hhvm将PHP代码编译转换成C++程序来执行,执行效率得到显着提升;

  根据 Facebook透漏,HHVM在速度方面获得了显着改进,比目前使用的PHP解释器快60%,而使用内存减少90%

  安装hhvm

  因为目前hhvm还处以研发阶段,国内用于生产环境的还很少,安装所需的环境比较复杂(如CentOS6.5下的boost-system和boost-filesystem的版本就过低),故本人还在调试测试阶段,等出了测试结果,再将hhvm的测试结果一并贴出。

  测试步骤

  # 另找一台虚拟机,对HTTPD服务器(192.168.1.110)进行压力测试

  # 测试工具使用Apache自带的基准测试工具ab即可

  # 测试方法如下:

  ab -c 20 -n 2000 http://http://www.zjjv.com///bbs/forum-2-1.html

关键词:

相关文章

网友评论

已有0位网友发表了看法

0 0