gpt4 book ai didi

node.js - 在 Node.js 中。使用 "request"包可以同时发送多少个请求

转载 作者:太空宇宙 更新时间:2023-11-04 03:31:39 25 4
gpt4 key购买 nike

我可以使用request同时发出多少个请求包裹?我期待每个请求返回数据,确认请求已成功收到并处理。这取决于硬件或操作系统吗?我从哪里开始寻找?

最佳答案

node.js 的最新版本之一不会对传出请求实现限制(旧版本有)。如果您确实尝试同时建立数百万个传出连接,那么您可能会遇到特定于操作系统的 Node.js 服务器的限制。但是,实际限制更有可能由目标主机决定。

由于您的所有请求都发送到同一主机,因此更有可能的限制将由您向其发出请求的服务器确定。在开始拒绝新连接之前,它会对同时“进行中”的并发请求数量进行某种限制。该数字完全取决于服务器的配置和构建方式。对于 http://www.google.com,这个数字可能是数十万或数百万个请求,因为它们拥有庞大的服务器群,并且请求在所有服务器之间保持平衡。对于一些简单的单CPU服务器来说,这个限制显然会比这个小得多。

此外,向单个 CPU 服务器发送无数请求几乎没有什么用处,因为它无法同时处理所有请求。

因此,如果您想知道什么最适合给定的目标主机,则必须设置一个可调整的测试工具,以便可以测试一次从 1、2、5、10、50、100、200、500、1000 个发送的场景,并查看平均响应时间是多少以及哪里开始出现错误(如果有)。

如果您不想进行任何此类测试,那么不尝试完全优化事物的一个相当安全的选择是同时运行不超过 5 个请求。

您可以自己构建一些东西来一次管理 N 个请求,也可以使用现有的库之一来为您执行此操作。 Bluebird Promise 库在其某些函数上有一个并发选项,例如 Promise.map()无论您设置什么并发值,它都会自动为您执行此操作。 async library也有类似的东西。

<小时/>

如果您需要更具体的帮助来编写代码来管理一次处理的请求数量或为其构建测试工具,请向我们展示一些有关所有请求来源的代码,以便我们了解其工作原理(如果是一个巨大的请求数组或 URL 的来源是什么)。

关于node.js - 在 Node.js 中。使用 "request"包可以同时发送多少个请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36611890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com