【问题标题】:NodeJS application continues only 6 opened connectionsNodeJS 应用程序仅继续 6 个打开的连接
【发布时间】:2019-07-13 12:07:06
【问题描述】:

我在 Debian 系统上运行了一个 NodeJS 应用程序,但上次我遇到了麻烦。

我使用 http.createServer 运行它,它似乎一次只支持 6 个打开的连接。这意味着如果我轮询请求 10 秒,新的必须等待这 10 秒,直到前一个被关闭才能进入。

我完全不知道为什么会发生这种情况,我不知道它是否是操作系统设置或应用程序的原因,所以我非常感谢任何建议。

谢谢!

【问题讨论】:

  • 如果您从浏览器发出 HTTP 请求,那么浏览器只能发出 6 个并发请求。您是否为每个请求都返回了响应?如果您不这样做,那么每个请求都会等到超时。
  • @RajanSharma 我没有从浏览器运行 HTTP。问题实际上是后端。我等待每个请求的返回响应,这是我不做就无法做到的事情。我将它们描述为“开放”的连接。

标签: node.js http tcp server


【解决方案1】:

如果您想增加应用程序一次应处理的连接数,请使用POSIX 模块来提高您的进程可以使用的文件描述符数量的限制。

安装posix

npm install posix

然后在运行服务器的代码中

var posix = require('posix');
// raise maximum number of open file descriptors to 1k,
posix.setrlimit('nofile', { soft: 1000 });

// Note: The hard limit is unchanged after this, it updates the soft limit only.

【讨论】:

    猜你喜欢
    • 2019-10-29
    • 2017-06-09
    • 1970-01-01
    • 2016-09-15
    • 2020-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多