在多个路由中声明的workerpool是否仍然可以保持其cpu使用率而不关心阈值
P粉517475670
P粉517475670 2024-04-06 19:54:23
0
1
684

我希望找到一个带有workerpool的node.js系统来处理CPU密集型任务,但是 对于多条路由中的 cpu 使用情况,我有些困惑。 一个场景是这样的:

route1.js:
  const workerpool = require('workerpool');
  const pool = workerpool.pool(__dirname + '/job1.js');
  pool.exec.......
route2.js:
  const workerpool = require('workerpool');
  const pool = workerpool.pool(__dirname + '/job2.js');
  pool.exec.......
route3.js:
  const workerpool = require('workerpool');
  const pool = workerpool.pool(__dirname + '/job3.js');
  pool.exec.......

当node.js使用这三个文件时,它们会创建自己的workerpool,并且 由于worker_thread号及其控制是通过node.js内部实现的,这是否可能 创建门槛问题?以及如何正确使用workerpool,非常感谢。

P粉517475670
P粉517475670

全部回复(1)
P粉909476457

我要做的就是只有一组工人。 Worker 可以公开多个函数,因此您的 Worker 可以毫无问题地公开 job1、job2 和 job3。如果您为每个池创建一个池,则需要考虑池可能会相互冲突......

考虑您的池获得 100% 的 CPU,这意味着如果所有 3 个池都已满,您最多可以需要 300% 的可用资源。

如果您为它们分别分配了 33%,这意味着您最多可以要求 100%,这很好,但如果一次只有 job1 被大量需要,它将只能使用 33% 的可用资源。

通过使用单个池,您可以达到 100%,而无需超过 100% 的可用空间。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板