为什么关闭Zend社区版Optimizer +对此没有影响?

时间:2012-03-20 11:13:15

标签: zend-framework optimization

当我在Zend Server CE中关闭Optimizer +时,我们清楚地看到每秒的请求数量减少(在Zend Controller中),但http://www.php-benchmark-script.com/bench.php不会加速。为什么呢?

2 个答案:

答案 0 :(得分:0)

脚本可能很小,以至于操作系统正在缓存文件,并且编译开销太小,以至于它不会产生那么大的差异。

答案 1 :(得分:0)

除了@ kevin-schroeder所说的,当您加载大量文件时,像Zend Optimizer +这样的操作码缓存就会出现。如果您只为测试命中一个文件,这可能会产生如此小的差异,以至于无法衡量。另外我认为Zend Optimizer +会做一些内部计算,看看是否在优化时工作(“zend_optimizerplus.enable_slow_optimizations - 启用或禁用可能需要很长时间的优化过程,基于内部运行时计算”)。

在默认设置中,Zend Optimizer +仍然需要检查磁盘以查看自上次请求以来文件是否已更改。所以应该考虑到这一点。

我想说你无法衡量差异的主要原因是基准脚本需要11秒才能运行。这将掩盖Zend Optimizer +所带来的微小收益+非常难以衡量。操作码缓存所带来的大部分收益都是围绕PHP脚本的加载和解析,而不是运行PHP代码。

我建议运行相同的测试但只是让它回显一个简单的字符串。也许你能够衡量差异。