我已经在最可能的瓶颈处优化了脚本。很难将代码移植到其他语言,所以这不是一个好的解决方案。
有没有什么操作码生成器、优化器可以用来优化这些持续运行的PHP脚本的性能?
它们从命令行运行,而不是在apache上运行。
/usr/bin/php myBatchProcessor.php eaccelerator或Zend优化器是否适用于命令行脚本?还有其他的建议吗?
发布于 2011-03-31 14:42:45
PHP "optimizers“都是蛇油!
只有在PHP4时代才需要“优化器”,因为从PHP源到Zend Engine 1运行的字节码的转换效率低下。这在PHP5中不再是问题。PHP4时代产品的现代衍生产品也执行字节码缓存,这非常有用。任何声称可以让普通PHP变得更快的产品都要小心。尤其是为了钱。
它们是从命令行运行的,而不是在apache上。
通常,正如其他人所做的那样,我建议使用APC字节码缓存,但是对于在命令行运行的长时间运行的脚本,APC不做任何事情。
你确定你已经 and removed every possible bottleneck了吗?
如果是这样的话,可能是时候尝试一下HipHop了,这是一个在创建可执行文件之前将PHP转换为C++的编译器。它可能不适合您的需要,因为它专为处理HTTP请求而设计。
发布于 2011-03-31 14:33:08
您可以安装APC并为命令行缓存启用APC。一定要确保!在这种情况下禁用您的will服务器的APC,否则两者将发生冲突。
不要期望APC对有太多的期望,因为操作码生成通常不是减慢脚本速度的部分,看看分析你的脚本。
编辑:
将这些设置添加到配置文件中:
apc.enabled = 1
apc.enable_cli = 1
https://stackoverflow.com/questions/5495977
复制相似问题