如何解决Nodejs 工作线程 - 我应该在池中生成多少个工作线程?
我想使用 Nodejs Worker threads 来处理 cpu 密集型任务。我将为此创建一个可用的工作人员池。
我的问题是:我应该在池中生成多少工人?
假设我有 4 个内核、8 个线程的 cpu - 我应该最多生成 3 或 7 个工人(基于内核或线程)吗?我假设我必须为主进程保留 1 个核心/线程。
解决方法
我对 workerpool 进行了一些测试。基于这些,我的结论是工作池最多只包含 n - 1 个工作人员,n 是 CPU 拥有的线程数。
例如,如果我有一个 10 核、20 个线程的 CPU,我的池中最多应该生成 19 个工作线程。
,不确定,但大多数建议的数量取决于 CPU 的数量。
例如,节点使用 4 个工作线程。
in workerpool 默认的 maxWorkers 数是 CPU 数减 1。当无法确定 CPU 数量时,maxWorkers 设置为 3。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。