php加速

环境:centos-6.4x86-64

所需软件:php-5.4.24xcache-3.1.0 APC-3.1.10 zendopcache-7.0.2

因为php是脚本类语言执行时要进行翻译成opcode操作码,如果每次访问php页面都要进行翻译会很耗资源而且很慢,所以要加速来提高效率。

() APC Alternative PHP Cache

http://pecl.php.net/package-info.php?package=APC

APC运行于LinuxFreeBSD,你需要自己编译安装。按照其开发人员的说法,在他们的测试环境下可以提高脚本速度50%-400%。并且APC是个开源项目,已经加入了PHPPECL库,很值得一试。

() Turck MMCache

http://turck-mmcache.sourceforge.net/

Turck MMCache似乎是此类软件中目前最受欢迎的一种,它开放源代码,完全免费。它将PHP代码预编译并缓存起来,同时也对PHP运行环境进行一定优化。按照其官方文档的说法,MMCache可以明显地减轻服务器的负载,并提高脚本执行速度110倍。MMCache与另一个知名的加速软件Zend Optimizer兼容,但注意必需先安装MMCachephp.ini中设置)。除了加快PHP程序的速度,MMCache还可以将PHP代码加密。Turck MMCache同时支持LinuxWin32平台。

() PHPA the PHP Accelerator

http://www.php-accelerator

PHPA又是另一个流行的PHP加速软件。在其官方网站上有分别使用PHPAAPCZend CachePHP脚本执行测试对比,其表现略优于APC,略逊于Zend Cache

PHPA支持Linux, FreeBSD, OpenBSD, BSDiSolaris系统.

() Zend Performance Suite

http://www.zend.com/

Zend Performance Suite是老牌的PHP加速/优化软件,依托于PHP领域最知名的Zend公司。目前已经推出4.0版本,它可以为PHP应用提供程序加速,内容缓存,文件压缩,下载服务等,功能十分强大,获得好几个PHP杂志的推荐奖―但是不得不提起,它也很昂贵,目前的价格是1875美元。

(五) XCacheXCache 是一个开源的 opcode 缓存器/优化器, 这意味着他能够提高您服务器上的 PHP 性能.他通过把编译 PHP 后的数据缓冲到共享内存从而避免重复的编译过程, 能够直接使用缓冲区已编译的代码从而提高速度. 通常能够提高您的页面生成速率2 5 , 降低服务器负载。

在这里我就介绍opcache xcache Acceleratorzend这四款加速器的使用

首先介绍opcache的安装,opcache在最新的php5.5以上的版本中都集成的有,在源码安装php5.5以上版本时加上 --enable-opcache,开启opcache。因为我这里用的是php5.4.24所以需要另外安装opcache

安装php5.4.24,解压php-5.4.24.tar.bz2 使用 tar �Cjxvf php-5.4.24.tar.baz2 �CC/usr/local/src

解压完成后切换到该目录中,执行

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql--with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring=all

执行完成后,执行make&& make install

完成之后要指定php的初始化文件php.ini,需要将当前目录下的php.ini-development 拷贝到/usr/local/php/lib/

wKiom1LgwLeTnOgUAABmfdB4uvU664.jpg

完成之后安装opcache,解压到 /usr/local/src,切换到该目录中,然后执行/usr/local/php/bin/phpize

wKioL1LgwK7hBib_AABH05mtXFI073.jpg

执行完成后就会出现configure文件

wKiom1LgwN2zQ4YNAAD0FfCaWGk397.jpg

然后执行./configure--with-php-config=/usr/local/php/bin/php-config,然后执行make && make install,安装完成之后在php.ini里面加入下面几行

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

opcache.memory_consumption=128

opcache.interned_strings_buffer=8

opcache.max_accelerated_files=4000

opcache.revalidate_freq=60

opcache.fast_shutdown=1

opcache.enable_cli=1

然后重启httpd,然后编辑一个php页面,使用phpinfo()函数显示

wKioL1LgwOvAMdIAAAGC1abWHrs845.jpg

可以看到opcache已经启动了,接下来我们来测试一下性能如何,测试页面就用我前面安装过的wordpress。先来测试没有启动opcache的性能如何,先吧opcache禁用掉,然后使用httpd自带的ab压力测试工具进行测试,使用方法如下图

wKiom1LgwR7DDsrrAAB1RFAccmQ229.jpg

测试结果如下

wKioL1LgwQridGJkAAGYhbXhjQk320.jpg

从图中可以看出没用使用加速时测试100000个请求是用时28.383秒,每秒处理请求数3523

接着我们来测试加速后的效果

wKioL1LgwRvwuYg8AAGVkRrDuwI635.jpg

从图中可以看出和加速前有了明显的提高

到这里opcache的安装已经介绍完了,接着介绍xcache的安装,安装之前先把opcache给关掉

解压xcache-3.1.0.tar.gz/usr/local/src下,然后切换到该目录下,和opcache一样先执行/usr/local/php/bin/phpize,之后就会出现configure文件,执行./configure--enable-xcache  --with-php-config=/usr/local/php/bin/php-config 之后执行make && make install,完成之后会在/usr/local/php/lib/php/extensions/no-debug-zts-20100525目录下形成xcache.so文件

wKiom1LgwU2A_2FsAABVQUdlTmg882.jpg

然后追加/usr/local/src/xcache-3.1.0/xcache.ini/usr/local/php/lib/php.ini

wKioL1LgwTrhTktRAABgzDYi9Ow299.jpg

编辑/usr/local/php/lib/php.ini,指明xcache.so路径

wKiom1LgwWzxjrpWAACZILphdug042.jpg

要管理xcache需要有用户名和密码,还在php.ini中指定

wKioL1LgwV2TahubAAEWALkayJI225.jpg

管理xcache需要有管理页面将/usr/local/src/xcache-3.1.0/htdocs拷贝到/usr/local/apache/htdocs/admin,测试能否访问

wKiom1LgwY_jqryYAAEfq8i-X_o115.jpg

出现验证页面,说明可以访问

然后我们来进行压力测试,看看测试结果

wKioL1LgwXzC3zUNAAG1dI4Ne9k406.jpg

明显比没有加速前快多了。Xcache也就介绍到这里,接下来介绍PHP Accelerator

首先解压APC-3.1.10/usr/localsrc/,切换到该目录,执行/usr/local/php/bin/phpize

然后执行./configure--with-php-config=/usr/local/php/bin/php-config,完成后执行make && make install 然后编辑php.ini

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

apc.enabled = 1

apc.cache_by_default = on

apc.shm_segments = 1

apc.shm_size = 128

apc.ttl = 7200

apc.user_ttl = 7200

apc.num_files_hint = 1024

apc.write_lock = On

apc.gc_ttl=3600

apc.ttl=0

压力测试

wKioL1LgwYzipB3jAAGXtXPS0YA559.jpg



你可能感兴趣的:(linux,服务器,源代码,运行环境,php加速)