使用node.js发送并发ajax请求的限制是什么



我正在制作一个node.js服务器,它会发出大量ajax请求,将json或html代码下载到不同的网站(而不是ddos/dos)。对于这种语言,我想知道我能同时提出多少个请求而不会出现问题。像一样做可以吗

for(i=0;i<1000;i+=1) {
    callajax();
}

还是我必须做

function call() {
    callajax(call);
}

当当前ajax调用完成时,这个sorta调用下一个ajax调用。

如果前一个是可以的,那么在必须等待它们返回之前,我可以同时调用多少ajax调用。我不希望出现不返回ajax请求的问题。

有人能分享一些对此的见解吗?

另外,假设我有两台服务器在同一个wifi网络上运行。如果它们都运行node.js服务器来发出ajax请求,那么这与在一台服务器上执行相同吗?

这将取决于几个变量。

  1. node.js配置为允许同时使用多少个套接字(这是node.js中的一个配置选项)?

  2. 如果所有请求都发送到同一台主机,那么该主机可以同时处理多少个连接?

  3. 如果接收服务器处理请求需要一点时间,那么它处理每个请求的速度有多快?它能在比您设置的超时值更短的时间内处理最后一个请求吗?

一般来说,最好将发送到同一主机的同时请求数量限制在5-10个可管理的数量,因为在大多数情况下,发送更多的同时请求实际上不会获得更好的吞吐量,但您可能会耗尽一些资源,或因大量同时请求而超时。

实际的最大值取决于许多与请求类型相关的配置选择和细节,必须通过测试来发现。

最新更新