suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Kann ein in mehreren Routen deklarierter Workerpool seine CPU-Auslastung trotzdem beibehalten, ohne sich um den Schwellenwert zu kümmern?

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粉517475670P粉517475670303 Tage vor851

Antworte allen(1)Ich werde antworten

  • P粉909476457

    P粉9094764572024-04-07 15:06:31

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

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

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

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

    Antwort
    0
  • StornierenAntwort