当前位置: 首页 > 面试题库 >

为什么node.js一次只能处理六个请求?

宰父志新
2023-03-14
问题内容

我们有一个node.js服务器,该服务器将REST API实施为中央服务器的代理,而中央服务器具有一个略有不同且不对称的REST API。

我们的客户端运行在各种浏览器中,它要求节点服务器从中央服务器获取任务。节点服务器从中央服务器获取所有任务ID的列表,并将其返回给客户端。然后,客户端通过代理对每个ID进行两次REST
API调用。

据我所知,这些工作都是异步完成的。在控制台日志中,启动客户端时,它看起来像这样:

Requested GET URL under /api/v1/tasks/*: /api/v1/tasks/

从中央服务器获取列表需要花费几秒钟的时间。一旦获得响应,服务器就会很快将其拒绝:

Requested GET URL under /api/v1/tasks/id/:id :/api/v1/tasks/id/438
Requested GET URL under /api/v1/workflow/id/:id :/api/v1/workflow/id/438
Requested GET URL under /api/v1/tasks/id/:id :/api/v1/tasks/id/439
Requested GET URL under /api/v1/workflow/id/:id :/api/v1/workflow/id/439
Requested GET URL under /api/v1/tasks/id/:id :/api/v1/tasks/id/441
Requested GET URL under /api/v1/workflow/id/:id :/api/v1/workflow/id/441

然后,每当一对这样的请求从中央服务器得到结果时,就会非常快速地禁止另外两行。

因此,看来我们的node.js服务器只愿意一次发出六个请求。


问题答案:

我已对其他答案进行了投票,因为它们帮助我诊断了问题。提示是该节点的套接字限制为5,而我一次得到6。Chrome中的限制是6,这就是我用来测试服务器的限制。



 类似资料:
  • 问题内容: 我有一个返回promise的方法,并且在内部该方法调用一个API,该API每分钟只能有20个请求。问题是我有很多对象(大约300个),并且我想为每个对象调用API。 目前,我有以下代码: 但是它不处理时序约束。我希望我可以使用_.chunk和_.debounce之类的东西,但是我无法解决这个问题。有人可以帮我吗? 问题答案: 您可以每分钟发送1个包含20个请求的块,或者每3秒将其间隔1

  • 我正在尝试测试我的贝宝沙箱帐户中的经常性付款。我跟踪了这个链接https://developer.paypal.com/webapps/developer/docs/classic/express-checkout/ht_ec-recurringpaymentprofile-curl-etc/ 我试了很多次,贝宝只显示这个消息。我怎样才能为我的沙箱帐户实现不出错的重复支付?

  • 我发现这样的php代码: 我希望这个循环会执行4次,因为$I变成了对$的引用(对吗?)。然而,循环只执行一次,并输出: a=10,i=10 我不明白为什么它会这样工作。有什么想法吗?

  • 几个相关问题: 是什么导致第一次读取返回1179字节?某种文件头? 为什么从中读取的内容分页到2048字节的大小,而不是包装指定的值? 是否有方法将配置为从缓冲区读取2048字节以上?

  • 我正试图让Kafka的消费者消费一次<我的要求是: 从Topic读取数据 处理数据[涉及调用另一个API] 将响应写回Kafka 我想知道在这种情况下是否可以完全一次? 我知道用例满足Kafka流API,但我想从生产者/消费者API中知道?此外,如果让我们说在处理数据后,消费者因某种原因失败(处理应该只完成一次),那么处理此类情况的最佳方法是什么? 此类情况可以有任何延续/检查点吗? 我知道Kaf

  • 我一直在读一本面向初学者的书,“第一头HTML5编程”,其中有这样一段代码: 目前,如果我调用,它将返回下一次显示是在下午5:00。我将循环条件更改为“I<=movie.showtimes.length;”但它仍然只运行一次,并且只显示下午5点。循环只迭代一次,即使我重写了这个函数: 不是应该跑两次吗?