有人知道单个基本的Node HTTP服务器每秒可以处理多少请求而不排队任何请求吗?
实际上,我需要编写一个Node.js应用程序,能够在100毫秒内持续响应约一千个传入请求。我正在尝试在四个CPU服务器上测试,在集群模式下运行四个实例。但目前它只能在100毫秒内持续处理不到1000个请求。
看这个回答:
这不是关于排队的问题,而是有关Node可以同时处理多少并发请求。它包含了示例基准测试,您可以使用和调整到自己的需求。
现在,关于排队:从某种意义上说,每个请求都在排队,因为在一个Node进程中只能同时运行一件事情。因此,您可以说没有任何请求被排队 Node http服务器可以处理多少请求的答案是1。就像Nginx一样。
现在,响应时间是完全不同的问题,取决于许多因素,例如您实际在这些请求处理程序中所做的工作。
例如,在我的实验中,我获得的每个请求的平均时间在这里与10000个并发连接小于2毫秒。如果它执行更多操作,则当然可能需要更长时间,但对于所有Node服务器,没有一个数字。这取决于您的实现效率。
现在,Node处理并发的大忌包括:
for
和 while
循环