我在最可能的瓶颈上优化了脚本。 将代码移植到其他语言很困难,因此这不是一个好的解决方案。
是否有任何操作码生成器,优化器可用于优化这些连续运行的PHP脚本的性能?
它们从命令行运行,而不是在apache上运行。
/usr/bin/php myBatchProcessor.php
eaccelerator或Zend优化器是否适用于命令行脚本?或任何其他建议 ?
答案 0 :(得分:2)
PHP“优化器”是蛇油!
仅在 PHP4 时代才需要“优化器”,因为从PHP源到Zend Engine 1运行的字节码的转换效率低下。这不再是PHP5中的问题。 PHP4时代产品的现代衍生产品也执行字节码缓存,这非常有用。警惕任何产品,声称它可以使普通的PHP更快。特别是为了钱。它们从命令行运行,而不是在apache上运行。
通常,正如其他人所做的那样,我建议使用APC 字节码缓存,但APC对在命令行运行的长时间运行脚本不执行任何操作。
你确定你已经profiled your code and removed every possible bottleneck了吗?
如果是这样的话,可能是时候采用HipHop,这是一个在创建可执行文件之前将PHP转换为C ++的编译器。它可能不适合您的需求,因为它专门用于 来提供HTTP请求。
答案 1 :(得分:0)
您可以安装APC并启用APC以进行命令行缓存。确保!在这种情况下,为您的网络服务器禁用APC,否则两者将发生冲突。
不要指望APC的太多,因为操作码生成通常不会减慢你的脚本速度,看看你的脚本分析。
编辑:
将这些设置添加到配置文件中:
apc.enabled = 1
apc.enable_cli = 1