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

我需要增加我写的模块可用的出站http套接字的数量。 我知道这是可能的全球使用:

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

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

您最好的select是将一个Agent对象传递给您所做的每个http和https请求,并根据您的喜好configurationmaxSockets。 这对其他模块没有影响。 请参阅http://nodejs.org/docs/latest/api/http.html#http_http_request_options_callback

如果您自己使用框架,而不是直接依赖http模块,则可能会很困难,需要进行一些修补。

假设设置确定每个主机有多less并发连接可用,则无法为单个模块专门设置该连接。 然而,你应该做的是确保你没有减less用户已经指定的并发连接数。 例如,如果某人将他们的maxSockets设置为5000,并且在模块中将其设置为1000,那么可能会发生不好的事情。 我会build议像下面这样的东西

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