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.
我要做的就是只有一组工人。 Worker 可以公开多个函数,因此您的 Worker 可以毫无问题地公开 job1、job2 和 job3。如果您为每个池创建一个池,则需要考虑池可能会相互冲突......
考虑您的池获得 100% 的 CPU,这意味着如果所有 3 个池都已满,您最多可以需要 300% 的可用资源。
如果您为它们分别分配了 33%,这意味着您最多可以要求 100%,这很好,但如果一次只有 job1 被大量需要,它将只能使用 33% 的可用资源。
通过使用单个池,您可以达到 100%,而无需超过 100% 的可用空间。