如何在Node.js中设置最大http客户端连接

时间:2012-11-30 17:19:48

标签: node.js http

我需要增加我正在编写的模块可用的出站http套接字的数量。我知道可以使用以下方式全球

// increase max sockets
http.globalAgent.maxSockets = 1000;

在不影响其他模块的情况下,创建模块的maxSocket限制的最佳模式是什么?

2 个答案:

答案 0 :(得分:3)

您最好的选择是将Agent对象传递给您正在进行的每个http和https请求,并根据您的喜好配置maxSockets。这对其他模块没有影响。 请参阅http://nodejs.org/docs/latest/api/http.html#http_http_request_options_callback

如果您自己使用框架,而不是直接依赖http模块,则可能很难并且需要修补。

答案 1 :(得分:-1)

鉴于该设置确定每个主机可用的并发连接数,因此无法为各个模块专门设置此连接。但是,您应该确保不要减少用户已指定的并发连接数。例如,如果有人将其maxSockets设置为5000,并且在模块中将其设置为1000,则可能会发生错误。我会推荐类似下面的内容

var max = 1000;
if(http.globalAgent.maxSockets < max) {
    http.globalAgent.maxSockets = max;
}