我在DigitalOcean上运行一个$5/mo服务器-1GB内存,1个VCPU。
我有一个脚本,其中包含一个for循环,将需要一些时间来运行(我已经禁用了超时)。
如果我增加服务器的规格(例如,16 up,8个VCPU),这会自动加速任务吗?
或者我需要手动实现多线程什么的?
或者可能将任务分割成块并发出多个HTTP请求
这是和NGINX的
发布于 2021-04-26 13:24:57
PHP是单线程的.更多的CPU不会有帮助。
多线程PHP是承诺了20年的东西,并且没有得到显著的支持。如果你尝试的话,我预计会有几个很难调试的问题。
最好的选择是并行运行多个脚本,同时处理部分问题--如果HTTP是您唯一的接口,那么并发请求就是最好的方法。然后分配给您的vServer的CPU数量就变得相关了。请记住,机器可能是超额订阅的,因此CPU与其他客户共享,分配只会影响它将尝试并行调度多少任务。
发布于 2021-04-26 13:26:53
我有一个包含for循环的脚本,需要一些时间来运行.如果我增加服务器的规格..。这会自动加速任务吗?
不是“自动”,不是。
这完全取决于你在那个循环里做什么。
如果您正在执行一些紧张的,数值计算,那么肯定;给予它更多的CPU能力,可能会有帮助。
如果你是在阅读大英百科全书的全部内容,一页一页,在互联网上读得不多。
首先找出你需要做什么,然后找出如何把它做好。
https://serverfault.com/questions/1061580
复制相似问题