gpt4 book ai didi

node.js - 集群模式下的 PM2 在运行时是否生成等量的类实例?

转载 作者:太空宇宙 更新时间:2023-11-03 23:58:32 27 4
gpt4 key购买 nike

我想知道在集群模式下运行 Node 进程是否也意味着我正在运行类的多个实例和超时循环。最令人担忧的例子之一是 puppeteer,它会访问外部网站来获取信息并更新我们的数据库。

我在 AWS 上的 t2.medium 上运行它。如果我在集群模式下运行我的 Node 应用程序,它会增加 CPU 使用率吗?

不幸的是,我自己无法对此进行广泛的测试。我的天堂没有足够的权限,如果我用完所有的 CPU 积分,我在这一天剩下的时间里什么也做不了,哈哈。

最佳答案

,如果您在集群模式下运行应用程序,PM2 将使用 Node.js Cluster module每个实例生成一个线程。如果您在每个实例中启动一个浏览器,这可能会很快累积起来,并可能“炸毁 CPU”,正如您所说的那样。

您可以使用 -i 参数 ( docs ) 来限制正在运行的实例数量:

示例(将工作人员数量限制为 2):

pm2 start crawler.js -i 2
<小时/>

请记住,当浏览器执行实际工作时,您的 Node.js 实例或多或少会处于空闲状态(假设您没有在那里进行任何复杂的计算)。使用库来处理 pool of browsers 可能是一种选择(免责声明:我是链接库的作者)。这会将处理多个浏览器的复杂性放入您的应用程序中,以便在测试和删除 PM2 集群模式的“复杂性层”时更轻松地估计应用程序的内存/CPU 使用情况。

关于node.js - 集群模式下的 PM2 在运行时是否生成等量的类实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55899852/

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