1

我想使用 Nodejs Worker 线程来处理 CPU 密集型任务。我将为此创建一个可用的工人池。

我的问题是:我应该在池中生成多少工人?

假设我有 4 核 8 线程 cpu - 我应该生成最多 3 或 7 名工作人员(基于内核或线程)吗?我假设我必须为主进程保留 1 个核心/线程。

4

2 回答 2

1

我用workerpool做了一些测试。基于这些,我的结论是工作池最多只包含 n - 1 个工作人员,n 是 CPU 拥有的线程数。

例如,如果我有一个 10 核、20 线程的 CPU,我应该在我的池中生成最多 19 个工人。

于 2021-03-28T15:33:47.960 回答
0

不确定,但大多数建议的数字取决于 CPU 的数量。

例如,节点使用 4 个工作线程。

workerpool中,maxWorkers 的默认数量是 CPU 数量减一。当无法确定 CPU 数量时,maxWorkers 设置为 3。

于 2021-08-02T17:44:24.400 回答