同时运行php脚本

Sha*_*awn 2 php shell concurrency

我正在尝试使用脚本来处理很多dta记录,让我们把它命名为process.php,问题是我有一个庞大的数据集,为了让工作更快完成,我想运行这个脚本的多个实例同

/ usr/bin/php process.php start_record end_record&

所以我会让它们并行运行

/ usr/bin/php process.php 0 10000&

/ usr/bin/php process.php 10000 20000&

/ usr/bin/php process.php 20000 30000&

/ usr/bin/php process.php 30000 40000&

...

我认为这样可以更快地完成工作,但是在尝试之后我没有发现它更快,而是速度似乎非常接近线性方式(没有并发).我不知道是不是因为process.php正在将记录插入到innodb表中或者是什么.

有任何想法吗.

Dan*_*erg 5

如果您需要将行插入数据库,它将完全没有区别.这是数据库的瓶颈,而不是PHP脚本.您仍然只能一次插入一行,因此每个并发实例只需要彼此等待.