我想用脚本来处理很多dta记录,让我们将其命名为process.php,问题是我有一个庞大的数据集,为了使工作更快完成,我想要运行该脚本的多个实例与同时运行php脚本
在/ usr/bin中/ PHP process.php START_RECORD end_record &
所以我让他们并行运行像
的/ usr /斌/ PHP process.php 0 10000 &
的/ usr /斌/ PHP process.php 10000 20000 &
的/ usr /斌/ PHP process.php 20000 30000 &
的/ usr/bin中/ PHP的过程.PHP 30000 40000 &
...
我认为这样的工作可以更快地完成,但后呃尝试我没有发现它快得多,而是速度似乎非常接近线性方式(没有并发性)。我不知道是否因为process.php将记录插入innodb表或什么。
任何想法。
谢谢。无论如何要解决这个问题? – Shawn 2010-07-27 08:21:36
好点:先找到瓶颈;然后解决它。然后找到下一个瓶颈...... – xtofl 2010-07-27 08:23:25
使用扩展插入和事务可能会提高性能(但不是四倍)。也可能对表格进行分区,或者在完成主要工作后实际创建四个单独的表格并将它们合并为一个表格。 这一切都假设您实际上有四个CPU内核可用于您的脚本。 – Mchl 2010-07-27 08:24:21