节点http服务器每秒可以处理多少请求而不排队任何请求?

时间:2017-04-06 15:43:00

标签: node.js http

有没有人知道节点http服务器的基本单个实例每秒可以处理多少请求而不排队任何请求?

实际上,我需要编写一个nodejs应用程序,它应该能够在100ms内始终响应大约数千个传入请求。我正在尝试在4 cpu服务器中测试它并在群集模式下运行4个实例。但目前它只能在100毫秒内始终处理少于1000个请求/秒

1 个答案:

答案 0 :(得分:10)

看到这个答案:

这不是关于排队,而是关于Node可以同时处理多少并发请求。它包含您可以使用的示例基准,并根据您的需要进行调整。

现在,关于排队:从某种意义上说,每个请求都排队,因为在一个Node进程中只能同时运行一件事。所以你可以说,节点http服务器可以处理多少请求而不排队任何请求的答案是:一。就像Nginx一样。

现在,回复的时间完全不同,取决于许多因素,例如您在这些请求处理程序中实际执行的操作。

例如,我在10000次并发连接的实验here中获得的每个请求的平均时间小于2毫秒。如果它做得更多,那么当然可能需要更多,但所有Node服务器都没有一个号码。这取决于您的实施效率。

现在,在Node中处理并发性的一个很大的禁忌是:

  • 绝不使用任何“同步”功能
  • 永远不要使用长时间运行的forwhile循环
  • 永远不要在处理请求的过程中进行任何CPU密集型工作