【发布时间】:2022-01-15 01:58:32
【问题描述】:
我有一个包含for循环的方法,我有主进程和子进程调用这个方法。
20404 create: 2022-01-14 05:44:10.073
20404 create: 2022-01-14 05:44:10.075
20404 create: 2022-01-14 05:44:10.077
20404 create: 2022-01-14 05:44:10.077
send: 2022-01-14 05:44:10.078
send: 2022-01-14 05:44:10.079
send: 2022-01-14 05:44:10.079
16228 get 2022-01-14 05:44:10.081
11976 get 2022-01-14 05:44:10.081
9692 get 2022-01-14 05:44:10.082
11976 create: 2022-01-14 05:44:10.087
9692 create: 2022-01-14 05:44:10.087
16228 create: 2022-01-14 05:44:10.087
16228 create: 2022-01-14 05:44:10.113
9692 create: 2022-01-14 05:44:10.114
16228 create: 2022-01-14 05:44:10.116
11976 create: 2022-01-14 05:44:10.116
9692 create: 2022-01-14 05:44:10.117
16228 create: 2022-01-14 05:44:10.119
11976 create: 2022-01-14 05:44:10.121
11976 create: 2022-01-14 05:44:10.123
以上是日志,send是主进程向子进程发送指令的时候。
前四行从主进程中打印出来,每次迭代平均间隔2ms
get 是子进程获取指令的时候。
第一个数字是进程 ID。正如您在这部分看到的:
11976 create: 2022-01-14 05:44:10.087
9692 create: 2022-01-14 05:44:10.087
16228 create: 2022-01-14 05:44:10.087
16228 create: 2022-01-14 05:44:10.113
9692 create: 2022-01-14 05:44:10.114
16228 create: 2022-01-14 05:44:10.116
与其余时间间隔相比,这两次迭代之间的时间间隔很大。任何想法为什么会发生这种情况?
【问题讨论】:
-
顺便说一句,我正在使用集群模块
-
我要怎么做才能重现这个?
-
我不确定你是否可以重现这个,但我在每次迭代中都进行异步调用。奇怪的是,只有前两次迭代的时间间隔很长。不确定这是硬件问题还是节点问题
-
请显示Minimal, Reproducible Example 的相关代码并描述您如何创建多个请求。
-
多少个集群进程?
标签: javascript node.js multithreading node-cluster