Node.js工作线程 - 在池中应生成多少个工作线程?

3

我想使用Nodejs Worker threads 来处理需要大量cpu的任务。我会创建一个可用于此目的的工作线程池。

我的问题是:我应该在池中生成多少个工作线程?

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

2个回答

3

我用workerpool进行了几项测试。因此,我的结论是,worker pool最多只包含n-1个工作线程,其中n是一个CPU的线程数。

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


0

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

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接