IsaacZ 发表于 2012-5-12 17:58:44

Zend Optimizer和eaccelerator 的原理及部分测试总结



Zend Optimizer(以下简称ZO)用优化代码的方法来提高php应用程序的执行速度。实现的原理是对那些在被最终执行之前由运行编译器(Run-Time Compiler)产生的代码进行优化。

PHP加速器 eaccelerator可以将opcode缓存到内存、磁盘,或者只缓存到内存,或者只缓存到磁盘。

这里所说的内存不是所谓的共享内存,这块区域是进程内的,不是进程间共享的内存,每个进程第一次访问某个PHP资源时,是需要从磁盘查找opcode文件的,然后写入本进程的一个hash表内,下次能查到就不需要读磁盘了。
----------------------------------------------------------------------
看来理解的没错,ZO 是通过优化代码执行,而eaccelerator 是通过缓存。

网上的一些结论:
1、单独Zend Optimizer优化:
测试结果很不稳定,偏差很大,加速并不多。
2、单独eAccelerator(做为Zend扩展)优化:
测试结果稳定,偏差小,加速也明显。
3、eAccelerator和Zend Optimizer共存:
测试结果稳定,偏差小,加速明显。比单独eAccelerator优化好。
4、单独Xcache优化:
测试结果稳定,偏差小,加速不如单独eAccelerator。
5、Xcache和Zend Optimizer共存:
测试结果稳定,偏差小,加速不如单独eAccelerator。
Xcache就算关闭保护功能,速度也没提升多少。
------------------------------------------------
ZendOptimizer 大概能提升20%的效率
eaccelerator 能提升1倍以上的效率

页: [1]
查看完整版本: Zend Optimizer和eaccelerator 的原理及部分测试总结