我正在制作一个node.js服务器,该服务器会将大量的ajax请求下载到不同的网站(不是ddos / dos)下载json或html代码。对于这种语言,我想知道我可以在没有问题的情况下同时提出多少请求。喜欢
就好for(i=0;i<1000;i+=1) {
callajax();
}
或者我必须这样做
function call() {
callajax(call);
}
这个sorta调用下一个ajax调用,当前的调用完成。
如果最上面一个没问题,我可以在我必须等到他们返回之前同时拨打多少个ajax电话。我不希望非返回的ajax请求出现问题。
任何人都可以对此有所了解吗?
另外,假设我有两个服务器在同一个wifi网络上运行。如果他们都运行他们的node.js服务器发出ajax请求,这与从1服务器执行它是一回事吗?
答案 0 :(得分:1)
这取决于几个变量。
node.js配置为允许多少个同时套接字(这是node.js中的配置选项)?
如果所有请求都转到同一主机,那么该主机可以同时处理多少个连接?
如果请求需要一点时间让接收服务器处理,它能以多快的速度处理每个请求,并且能够在比超时值设置为的时间更短的时间内处理最后一个请求吗?
一般情况下,最好将发送到同一主机的同时请求数量限制为5-10之类的可管理对象,因为在大多数情况下,通过发送更多同时请求实际上不会获得更好的吞吐量,但是很多同时请求会耗尽一些资源或达到超时。
实际最大值取决于许多配置选择和与请求类型相关的细节,必须通过测试发现。