在多个路由中声明的workerpool是否仍然可以在不关心阈值的情况下保持其cpu使用率

编程入门 行业动态 更新时间:2024-10-04 09:26:51

在多个路由中声明的workerpool是否仍然可以在不关心<a href=https://www.elefans.com/category/jswz/34/1762860.html style=阈值的情况下保持其cpu使用率"/>

在多个路由中声明的workerpool是否仍然可以在不关心阈值的情况下保持其cpu使用率

我希望找出一个带有 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 内部实现的,这是否可能 创造门槛问题?以及如何以正确的方式使用工作池,非常感谢。

回答如下:

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

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

如果你为它们每个分配 33%,这意味着你最多可以要求 100%,这很好,但如果一次只需要 job1,它将只能使用 33% 的可用资源。

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

更多推荐

在多个路由中声明的workerpool是否仍然可以在不关心阈值的情况下保持其cpu使用率

本文发布于:2024-05-31 03:57:43,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1771248.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:阈值   多个   使用率   路由   不关心

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!