gpt4 book ai didi

php - 如何使用多个处理器运行 PHP 脚本

转载 作者:太空宇宙 更新时间:2023-11-04 05:37:42 24 4
gpt4 key购买 nike

我运行一个使用四个处理器之一的 bash php 脚本。该脚本压缩了我的图片。现在的问题是:如何运行我的脚本才能有权使用 3 个处理器?它绝对可以加快所有文件的压缩速度,大约有一百万个文件。

最佳答案

您无法在多个处理器上运行相同的脚本,因为脚本只有一个执行线程。

如果对工作负载进行分区,则可以运行脚本的多个实例。操作系统将尝试将这些分布到可用的 CPU 上。 (您可以强制进程运行特定的 CPU,但这不值得)。

诀窍在于了解如何划分工作负载。最简单的解决方案是拥有一个调度程序进程,它将输入文件分配给脚本的实例并调用这些实例,例如通过将文件列表作为命令行参数传递。请注意,您选择的调用脚本的方法必须是非阻塞的(例如使用 popen,而不是 exec)。

但是对于许多位置的大量文件,这可能会变得很麻烦。

另一种方法是调度程序将文件列表写入数据库,并让脚本实例读取工作队列:

$THIS_INSTANCE_ID=$argv[1];
$NUMBER_OF_INSTANCES=$argv[2];
$qry="SELECT filename
FROM conversions
WHERE MOD(id, ${NUMBER_OF_INSTANCES})=${THIS_INSTANCE_ID}
AND finished=false";

关于php - 如何使用多个处理器运行 PHP 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45860730/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com