如何在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; }