0

我已经在大多数可能的瓶颈处优化了脚本。很难将代码移植到其他语言,所以这不是一个好的解决方案。

是否有任何操作码生成器、优化器可用于优化这些持续运行的 PHP 脚本的性能?

它们从命令行运行,而不是在 apache 上运行。

/usr/bin/php myBatchProcessor.php 

eaccelerator 或 Zend 优化器是否适用于命令行脚本?或任何其他建议?

4

2 回答 2

2

PHP“优化器”是蛇油!

仅在PHP4时代才需要“优化器”,因为从 PHP 源代码到 Zend Engine 1 运行的字节码的转换效率低下。这不再是 PHP5 中的问题。PHP4 时代产品的现代衍生产品也执行字节码缓存,这非常有帮助。警惕任何声称可以使普通 PHP 更快的产品。尤其是为了钱。

它们从命令行运行,而不是在 apache 上运行。

通常,正如其他人所做的那样,我建议使用 APC字节码缓存,但 APC 对于在命令行运行的长时间运行的脚本没有任何作用。

确定您已经分析了您的代码并消除了所有可能的瓶颈吗?

如果是这样,可能是时候尝试一下HipHop了,这是一种在创建可执行文件之前将 PHP 转换为 C++ 的编译器。它可能不适合您的需求,因为它为服务 HTTP 请求而设计。

于 2011-03-31T06:42:45.220 回答
0

您可以安装 APC 并启用 APC 以进行命令行缓存。确保!在这种情况下为您的网络服务器禁用 APC,否则两者将发生冲突。

不要对APC 有太多期望,因为操作码生成通常不会减慢您的脚本速度,请查看分析您的脚本。

编辑:
将这些设置添加到您的配置文件中:
apc.enabled = 1
apc.enable_cli = 1

于 2011-03-31T06:33:08.310 回答