【发布时间】:2017-04-07 00:02:52
【问题描述】:
有谁知道节点http服务器的基本单个实例每秒可以处理多少个请求而无需排队任何请求?
实际上,我需要编写一个 nodejs 应用程序,它应该能够在 100 毫秒内一致地响应大约数千个传入请求。我正在尝试在 4 cpus 服务器中测试它并在集群模式下运行 4 个实例。但目前它只能在 100 毫秒内持续处理每秒少于 1000 个请求
【问题讨论】:
有谁知道节点http服务器的基本单个实例每秒可以处理多少个请求而无需排队任何请求?
实际上,我需要编写一个 nodejs 应用程序,它应该能够在 100 毫秒内一致地响应大约数千个传入请求。我正在尝试在 4 cpus 服务器中测试它并在集群模式下运行 4 个实例。但目前它只能在 100 毫秒内持续处理每秒少于 1000 个请求
【问题讨论】:
看到这个答案:
这不是关于排队,而是关于 Node 可以同时处理多少并发请求。它包含示例基准,您可以根据需要使用和调整。
现在,关于排队:从某种意义上说,每个请求都需要排队,因为在一个 Node 进程中只能同时运行一件事。所以你可以说Node http服务器可以处理多少个请求而不需要排队任何请求的答案是:一个。就像 Nginx 一样。
现在,响应时间是完全不同的事情,取决于许多因素,例如您在这些请求处理程序中实际执行的操作。
例如,对于 10000 个并发连接,我在实验 here 中获得的每个请求的平均时间不到 2 毫秒。如果它做得更多,那么它当然可以花费更多,但是所有节点服务器都没有一个数字。这取决于您的实施效率。
现在,在 Node 中处理并发的一大禁忌是:
for 和 while 循环【讨论】: