Kann ein in mehreren Routen deklarierter Workerpool seine CPU-Auslastung trotzdem beibehalten, ohne sich um den Schwellenwert zu kümmern?
P粉517475670
P粉517475670 2024-04-06 19:54:23
0
1
683

Ich hatte gehofft, ein node.js-System mit einem Workerpool zu finden, um CPU-intensive Aufgaben zu bewältigen, aber Ich bin etwas verwirrt über die CPU-Auslastung auf mehreren Routen. Eine Szene sieht so aus:

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.......

Wenn node.js diese drei Dateien verwendet, erstellen sie ihren eigenen Workerpool und Ist dies möglich, da die worker_thread-Nummer und ihre Steuerung intern über node.js implementiert werden? Ein Schwellenwertproblem erstellen? Und wie man Workerpool richtig nutzt, vielen Dank.

P粉517475670
P粉517475670

Antworte allen(1)
P粉909476457

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

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

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

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

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage