gpt4 book ai didi

Node.js - 以 CPU 核心为目标

转载 作者:IT老高 更新时间:2023-10-28 23:07:56 25 4
gpt4 key购买 nike

如何启动 Node 进程,针对特定的 CPU 内核?

我见过 Node 集群,但我有兴趣在不同的内核上启动两个不同的进程。

我假设从命令行启动 Node 时有一种方法可以做到这一点,即:

node myapp.js

如果有区别,我很想知道如何在 windows 和 linux 中执行此操作。

最佳答案

一般来说,调度程序会在没有任何帮助的情况下完成这项工作。在野外,我只见过一种情况很重要....

我们在 8 核机器上部署了一个 Node 服务,在负载测试期间,我们发现了最奇怪的现象……该服务实际上在 7 个 worker 时的表现比在 8 个 worker 时更好。稍后进行一些调试,我们发现所有网络中断由核心 0 处理。我使用了 15 个工作人员,因此与其他核心相比,核心 0 将分担 1/2 的负载。最终,我认为我们最终选择了 7 名 worker ,因为它更简单、更可预测,而且复杂性不值得获得约 7% 的理论吞吐量。

话虽如此,在 linux 上设置 CPU 亲和性:

$ taskset -pc 3089
pid 3089's current affinity list: 0,1

$ taskset -p 3089
pid 3089's current affinity mask: 3 # core 0 = 0x1, core 1 = 0x2


$ taskset -pc 1,2,3 3089
pid 3089's current affinity list: 0,1
pid 3089's new affinity list: 1

关于Node.js - 以 CPU 核心为目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12432442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com