如何控制节点express.js应用程序中排队请求的最大数量?

Syl*_*ain 5 node.js express

我写了一个只有一条路线的快速应用程序。处理程序将传入请求的正文保存到 couchdb 数据库。

我编写了一个 C# 客户端应用程序,它使用线程异步发送 10000 个小请求。某些请求失败并显示此异常消息“无法建立连接,因为目标计算机主动拒绝”。

我想这是因为节点进程达到了排队连接的最大数量。是对的吗?

这个应用程序是一个概念证明,我的真实应用程序中不会有这么大的负载,但我想测试限制并了解它们是如何工作的。

我有两个问题:

  • 有没有办法控制排队请求的最大数量?我可以将其设置为“无限制”吗?如果不是,最大值是多少?为什么有最大值?

  • 在我的节点应用程序中,有没有办法让我捕获并记录那些丢弃的请求?在生产应用程序中,我想知道我的服务器已达到最大请求数。

更多信息:

  • 我在 Windows 上运行这个
  • 我尝试过 app.listen(3001, 'localhost', 10000) 来设置 backlog 参数。相同的结果。

小智 1

我认为您正在寻找积压设置。默认值为 511。 http://nodejs.org/api/net.html#net_server_listen_port_host_backlog_listeninglistener