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

Pra*_*GPz 2 http node.js

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

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

rsp*_*rsp 10

看到这个答案:

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

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

现在,响应的时间是一个完全不同的问题,并取决于许多因素,例如您在这些请求处理程序中实际执行的操作.

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

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

  • 切勿使用任何"同步"功能
  • 切勿使用长时间运行forwhile循环
  • 切勿在处理请求的过程中执行任何CPU密集型工作

  • 这个答案是不正确的。Node.js“不是”单线程,请求将在多个线程上处理,具体取决于服务器的硬件配置。纯逻辑(不是 I/O)的部分将是单线程的,但在大多数情况下,这只是代码的一小部分。大多数代码将从磁盘读取/从数据库读取/写入数据库/向另一台服务器发出请求等。 (5认同)