Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 我应该发送多少并发http请求?_Node.js_Http_Asynchronous_Network Programming - Fatal编程技术网

Node.js 我应该发送多少并发http请求?

Node.js 我应该发送多少并发http请求?,node.js,http,asynchronous,network-programming,Node.js,Http,Asynchronous,Network Programming,我需要同时向远程服务器发送大约50或60个get请求 我对人际网络了解不多 我刚刚意识到,例如: 发送5个请求10次与同时发送50个请求完全不同 我如何知道同时发送的并发HTTP请求的最“有效”数量是多少?当只讨论网络时,而不讨论后端和繁重的请求处理:许多请求的巨大影响是连接重用。谈论HTTP/1.*这是一个保持活动状态功能。HTTP/2默认支持HTTP/2,它不仅允许重用,而且允许请求同时使用 因此,发出并行100个请求会导致NodeJ中打开100个连接,而默认情况下,无限。但是,当您一个接一

我需要同时向远程服务器发送大约50或60个get请求

我对人际网络了解不多

我刚刚意识到,例如:

发送5个请求10次与同时发送50个请求完全不同


我如何知道同时发送的并发HTTP请求的最“有效”数量是多少?

当只讨论网络时,而不讨论后端和繁重的请求处理:许多请求的巨大影响是连接重用。谈论
HTTP/1.*
这是一个
保持活动状态
功能。HTTP/2默认支持
HTTP/2
,它不仅允许重用,而且允许请求同时使用

因此,发出并行100个请求会导致NodeJ中打开100个连接,而默认情况下,
无限
。但是,当您一个接一个地发出
N
请求时,这意味着进一步的请求可以重用以前的连接


但是您不应该自己处理连接池,只需将
maxSockets
设置为
15
,nodejs代理将为您处理它。注意:很难说实际值应该是什么,但是在节点版本
0.12
之前,
maxSockets
的默认值也是
5

很难说什么是“有效的”。效率意味着在结果与努力方面有好处。此外,在您的情况下,您能否解释请求是重请求(例如影响数据库)还是轻请求(例如返回一个小的静态文件)?您可以选择在一个HTTP请求中发送多个请求吗?这将略微提高效率,但HTTP GET已经相当高效了。看看它是否有帮助。。。。您可以同时向服务器发送多个请求!