在多個路由中聲明的workerpool是否仍然可以保持其cpu使用率而不關心閾值
P粉517475670
P粉517475670 2024-04-06 19:54:23
0
1
689

我希望找到一個有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% 的可用空間。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板