CNode

如果突发的大量请求到达node的服务器,nodejs是如何处理这些请求的?

Yyuyue007发布于12 年前最后回复12 年前6 回复11530 浏览0 收藏

RT

假设1w个请求过来,nodejs也会一个个的处理,虽然是异步的处理,但是面对这样大量的请求他会怎么做呢?

我想知道下运行的原理。

查看回复

回复 (6)

Y
yuyue007#2·12 年前
引用 otinnhttp://www.ruanyifeng.com/blog/2013/10/event loop.html

之前看过这个,我想知道,如果在主线程中有巨量的请求发往event loop,会不会造成阻塞?

C
chloe#3·12 年前

如果你的请求处理是cpu密集型肯定会阻塞,但是主线程不会阻塞

T
tulayang#4·12 年前

你可以开多进程,或者单进程。 1w个请求,取决于你要做什么,比如单进程:

  • 如果是1w个nodejs计算,循环100次+1,那就是1w个计算任务排队。
  • 如果是1w个数据库读取、1w个文件读取,nodejs依次初始化1w个任务,然后每个任务的读取任务会交给操作系统,nodejs处于等待和处理其他任务状态。操作系统完成任务把结果返回给nodejs,nodejs空闲的时候返回结果给客户端。
J
JacksonTian#5·12 年前

首先。。操作系统就会排队。。然后才轮到node来处理。

node采用事件驱动的方式,大量请求进来,node还是能保持这些请求的连接的。然后node的主线程开始处理调用。因为io已经使用了非阻塞IO,然后慢慢处理咯。。

A
amoa400#6·12 年前

肯定还是一个一个的处理,后面的处理不了就会超时。

参与回复
登录后即可参与回复。登录