php 性能优化 eAccelerator

本文介绍如何通过eAccelerator加速PHP应用性能,包括安装配置步骤及原理说明。通过缓存编译后的opcode,避免重复编译同一文件,显著提高PHP应用程序运行速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,优化的目的是花最少的代价换来最快的运行速度与最容易维护的代码。

Apache中如使用mod_php方式运行PHP,请求、响应执行流程:
1、Apache接收请求
2、Apache传递请求给mod_php
3、mod_php定位磁盘文件,并加载到内存中
4、mod_php编译源代码成为opcode树
5、mod_php执行opcode树

因为PHP是解释型的语言,所以每个PHP文件在运行的时候都需要编译后再执行,不同的线程访问同一个文件,每次都需要重新编译然后运行,这样就耗费了大量时间。所以,通过把编译后文件缓存起来,就减少了许多时间消耗。所以我们要做的就是在第4个步骤进行优化。

安装配置eAccelerator

wget http://jaist.dl.sourceforge.net/sourceforge/eaccelerator/eaccelerator-0.9.5.tar.bz2
tar -xvf eaccelerator-0.9.5.tar.bz2
cd eaccelerator-0.9.5
/usr/local/web/php/bin/phpize
./configure –enable-eaccelerator=shared –with-php-config=/usr/local/web/php/bin/php-config
make
make install
mv /usr/local/web/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so /usr/local/web/php/lib/php/extensions/PECL
 
#将下面代码加入php.ini文件中
extension = eaccelerator.so
; eAccelerator
eaccelerator.shm_size = "16"
eaccelerator.cache_dir = "/data/eaccelerator"
eaccelerator.enable = "1"
eaccelerator.optimizer = "1"
eaccelerator.check_mtime = "1"
eaccelerator.debug = "0"
eaccelerator.filter = ""
eaccelerator.shm_max = "0"
eaccelerator.shm_ttl = "0"
eaccelerator.prune_period = "0"
eaccelerator.shm_only = "0"
eaccelerator.compress = "1"
eaccelerator.compress_level = "9"
 
#创建缓存目录,重启apache
 
mkdir /data/eaccelerator
chmod 777 /data/eaccelerator
/usr/local/web/apache/bin/apachectl restart

最后在phpinfo()检查,是否安装成功

事实上,可以考虑把编译后的文件放到内存里,这样,每个线程访问时机器指令直接从内存中取结果,而不是从硬盘中读取,会更快。

posted on 2011-09-05 05:31  之乎者也2011 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/wrmfw/archive/2011/09/05/2166941.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值