Node.js如何处理一个线程的同时请求?

Dino Tw

我对此问题进行了一些搜索,但似乎人们只强调非阻塞IO。

假设如果我只有一个非常简单的应用程序来向客户端响应“ Hello World”文本,那么不管它有多快,它仍然需要时间来完成执行。如果有两个请求完全同时出现,该怎么办,Node.js如何确保两个请求都将被一个线程处理?

我读了一篇了解node.js事件循环的博客其中说:“当然,在后端,有用于DB访问和执行过程的线程和过程”。该语句与IO有关,但我也想知道是否有单独的线程来处理请求队列。如果是这样,我可以说Node.js单线程概念仅适用于在Node.js上构建应用程序的开发人员,但是Node.js实际上是在幕后的多线程上运行的吗?

麦可

操作系统为每个套接字连接分配一个发送和接收队列。这就是字节所在的位置,直到应用程序层的某些内容处理它们为止。如果接收队列已满,则在队列中没有可用空间之前,所有已连接的客户端都无法发送信息。这就是应用程序应尽快处理请求的原因。

如果您使用的是* nix系统,则可以使用netstat查看发送和接收队列中的当前字节数。在此示例中,接收队列中有0个字节,发送队列中有240个字节(等待OS发出)。

Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      240 x.x.x.x:22                 x.x.x.x:*                   LISTEN

在Linux上,您可以使用proc文件系统检查发送/接收队列的默认大小和最大允许大小:

Receive:

cat /proc/sys/net/core/rmem_default
cat /proc/sys/net/core/rmem_max

Send:

cat /proc/sys/net/core/wmem_max
cat /proc/sys/net/core/wmem_default

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

node.js如何处理同时的http请求?

来自分类Dev

Node.js服务器如何处理请求?

来自分类Dev

如何处理 node.js 请求中的 URI 错误?

来自分类Dev

Node.js同时发出多个请求,并返回一个结果

来自分类Dev

从另一个js脚本调用方法时如何处理node-mysql上的数据库延迟

来自分类Dev

如何处理node.js casterror?

来自分类Dev

单个线程如何处理Node.js中的异步代码?

来自分类Dev

使用node.js测试API如何处理无效的JSON语法请求主体

来自分类Dev

如何将Node.js请求路由到另一个Node.js应用程序?

来自分类Dev

在ZIP文件流传输期间,Node.js会阻止并且无法处理下一个请求

来自分类Dev

一个控制器中的多个请求URL映射处理程序在Node Express JS中不起作用

来自分类Dev

node.js请求模块,如何使用步骤将请求的URL主体传递给下一个函数

来自分类Dev

Node.js:一个AWS实例或每个请求一个

来自分类Dev

MongoDB + Node.js:每个请求一个集合还是一个静态集合?

来自分类Dev

Node.js-如何处理流错误事件

来自分类Dev

如何处理node.js中的循环?

来自分类Dev

Node.js /如何处理连接泄漏?

来自分类Dev

Node.JS如何处理重复的传递依赖项?

来自分类Dev

如何处理来自node.js的网页上的数据

来自分类Dev

如何处理Node.JS中的UnhandledPromiseRejectionWarning

来自分类Dev

Node.js如何处理未封闭的HTTP响应

来自分类Dev

如何处理来自node.js的网页上的数据

来自分类Dev

Alexa Node JS 如何处理多个事件的取消事件

来自分类Dev

node.js非阻塞POST请求以等待另一个POST请求

来自分类Dev

说Apache为每个请求生成一个线程,但是node.js却没有,这意味着什么?

来自分类Dev

如何等待直到上一个发布请求在JavaScript + Node.js中完成?

来自分类Dev

如何实现一个node.js插件方法

来自分类Dev

同时构建一个iOS应用和Node.js API

来自分类Dev

Node.js如何知道回调的第一个参数是否是错误处理程序?

Related 相关文章

  1. 1

    node.js如何处理同时的http请求?

  2. 2

    Node.js服务器如何处理请求?

  3. 3

    如何处理 node.js 请求中的 URI 错误?

  4. 4

    Node.js同时发出多个请求,并返回一个结果

  5. 5

    从另一个js脚本调用方法时如何处理node-mysql上的数据库延迟

  6. 6

    如何处理node.js casterror?

  7. 7

    单个线程如何处理Node.js中的异步代码?

  8. 8

    使用node.js测试API如何处理无效的JSON语法请求主体

  9. 9

    如何将Node.js请求路由到另一个Node.js应用程序?

  10. 10

    在ZIP文件流传输期间,Node.js会阻止并且无法处理下一个请求

  11. 11

    一个控制器中的多个请求URL映射处理程序在Node Express JS中不起作用

  12. 12

    node.js请求模块,如何使用步骤将请求的URL主体传递给下一个函数

  13. 13

    Node.js:一个AWS实例或每个请求一个

  14. 14

    MongoDB + Node.js:每个请求一个集合还是一个静态集合?

  15. 15

    Node.js-如何处理流错误事件

  16. 16

    如何处理node.js中的循环?

  17. 17

    Node.js /如何处理连接泄漏?

  18. 18

    Node.JS如何处理重复的传递依赖项?

  19. 19

    如何处理来自node.js的网页上的数据

  20. 20

    如何处理Node.JS中的UnhandledPromiseRejectionWarning

  21. 21

    Node.js如何处理未封闭的HTTP响应

  22. 22

    如何处理来自node.js的网页上的数据

  23. 23

    Alexa Node JS 如何处理多个事件的取消事件

  24. 24

    node.js非阻塞POST请求以等待另一个POST请求

  25. 25

    说Apache为每个请求生成一个线程,但是node.js却没有,这意味着什么?

  26. 26

    如何等待直到上一个发布请求在JavaScript + Node.js中完成?

  27. 27

    如何实现一个node.js插件方法

  28. 28

    同时构建一个iOS应用和Node.js API

  29. 29

    Node.js如何知道回调的第一个参数是否是错误处理程序?

热门标签

归档