我正在尝试使用脚本来处理大量的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表中或者什么原因。
任何想法。
最佳答案
如果您需要将行插入数据库,那绝对没有什么区别。数据库才是瓶颈,而不是 PHP 脚本。您仍然一次只能插入一行,因此每个并发实例只需互相等待。
关于php - 同时运行php脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3341761/