【问题标题】:Limit for concurrent connections to the same host in Node.jsNode.js 中对同一主机的并发连接限制
【发布时间】:2014-05-18 22:03:37
【问题描述】:

为什么是代码(或任何类似的)

var http = require('http');
var async = require('async');

async.forever(function(next) {
    http.get('http://google.com', function(res) {
        next();
    });
});

使用最新发布的 Node (0.10.28) 只执行 5 次?

【问题讨论】:

    标签: node.js http concurrency


    【解决方案1】:

    默认情况下,Node 发送带有 Connection: Keep-Alive 标头的 HTTP 请求,因此一个请求后连接不会关闭。默认情况下,同一服务器的最大并发连接数:端口设置为 5。这由 http.globalAgent.maxSockets 属性控制。

    文档中确实提到了它,但如果您不知道在哪里查找或不只是阅读所有文档,则很难找到。此外,这些类现在正在重写,下一个版本将有不同的行为。

    【讨论】:

      【解决方案2】:

      看起来行为已经改变(可能之前在 node7 中),现在默认是无限数量的连接 https://nodejs.org/docs/latest-v7.x/api/http.html#http_agent_maxsockets

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-10-01
        • 2020-11-16
        • 2019-05-16
        • 1970-01-01
        • 1970-01-01
        • 2014-02-05
        • 2015-09-30
        相关资源
        最近更新 更多