Un pool de travail déclaré sur plusieurs routes peut-il toujours maintenir son utilisation du processeur sans se soucier du seuil
P粉517475670
P粉517475670 2024-04-06 19:54:23
0
1
753

J'espérais trouver un système node.js avec un pool de travail pour gérer les tâches gourmandes en CPU, mais Je suis un peu confus quant à l'utilisation du processeur sur plusieurs routes. Une scène ressemble à ceci :

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

Lorsque node.js utilise ces trois fichiers, ils créent leur propre pool de travailleurs et Est-ce possible puisque le numéro worker_thread et son contrôle sont implémentés en interne via node.js Créer un problème de seuil ? Et comment utiliser correctement Workerpool, merci beaucoup.

P粉517475670
P粉517475670

répondre à tous(1)
P粉909476457

Tout ce que je veux, c'est n'avoir qu'un seul groupe de travailleurs. Un Worker peut exposer plusieurs fonctions, de sorte que votre Worker peut exposer job1, job2 et job3 sans aucun problème. Si vous créez un pool par pool, vous devez considérer que les pools peuvent entrer en conflit les uns avec les autres...

Considérez que vos pools reçoivent 100 % de CPU, ce qui signifie que si les 3 pools sont pleins, vous pouvez avoir besoin de jusqu'à 300 % des ressources disponibles.

Si vous allouez 33 % à chacun d'eux, cela signifie que vous pouvez demander jusqu'à 100 %, ce qui est bien, mais si seul le travail 1 est fortement nécessaire à la fois, il ne pourra utiliser que 33 % des ressources disponibles. .

En utilisant une seule piscine, vous pouvez atteindre 100% sans dépasser 100% de l'espace disponible.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal