[英]How to set maximum http client connections in Node.js
我需要增加我正在编写的模块可以使用的出站http套接字的数量。 我知道可以使用以下方法全局执行此操作:
// increase max sockets
http.globalAgent.maxSockets = 1000;
在不影响其他模块的情况下编写模块的maxSocket限制的最佳模式是什么?
最好的选择是将代理对象传递给您发出的每个http和https请求,并根据自己的喜好配置maxSockets。 这将对其他模块没有影响。 请参阅http://nodejs.org/docs/latest/api/http.html#http_http_request_options_callback 。
如果您使用的是框架,而不是直接依赖于http模块,则可能会很困难并且需要修补。
鉴于此设置确定每个主机有多少个并发连接,因此无法为单个模块专门设置此设置。 但是,您应该做的是确保您没有减少用户已经指定的并发连接数。 例如,如果有人将其maxSockets设置为5000,并且在模块中将其设置为1000,则可能会发生不好的事情。 我建议类似以下内容
var max = 1000;
if(http.globalAgent.maxSockets < max) {
http.globalAgent.maxSockets = max;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.