【问题标题】:How to set maximum http client connections in Node.js如何在 Node.js 中设置最大 http 客户端连接数
【发布时间】:2013-03-14 23:15:56
【问题描述】:

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

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

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

【问题讨论】:

    标签: node.js http


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      鉴于该设置决定了每个主机有多少并发连接可用,因此无法专门为各个模块设置此设置。但是,您应该做的是确保您没有减少用户已经指定的并发连接数。例如,如果有人将他们的 maxSockets 设置为 5000,而您在模块中将其设置为 1000,则可能会发生不好的事情。我会推荐类似以下的内容

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

      【讨论】:

      • 不是答案。寻找一种方法来编写具有非全局最大套接字限制的模块
      猜你喜欢
      • 2011-04-04
      • 1970-01-01
      • 1970-01-01
      • 2020-11-15
      • 1970-01-01
      • 1970-01-01
      • 2012-04-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多