nodejs一次只能处理6个请求
发布于 8 年前 作者 liu2080019 6381 次浏览 来自 问答

problem.png 如图,express写的一个项目,前台一次发送若干个请求,但是nodejs一次只处理6个,请问在哪里设置,这样并发太慢了

9 回复

一个请求要等10几秒,什么请求啊o(╯□╰)o。

@Hanggi 有很多文件操作

这是浏览器的限制吧

@joleye 我测试一下

你的服务器处理请求太慢,建议做成异步的。 另外,浏览器请求并发有限制,一般不超过8个。 如果你想多发几个请求,考虑使用keep alive技术

浏览器的限制,并非node的问题,换浏览器一试就知道了

我好像看懂了。

你的 node 服务器有个 settimeout,设置的是 10秒后返回数据,而前端有很多个请求(> 20 个)。那么浏览器在接收了这些请求之后,会并发地去获取,而不同浏览器对于并发数的控制不同,在你这里,就是 6 个。 当前 6 个 10 秒后同时返回后,7 - 12 的请求开始发出去,所以才有了这样的时间线。

node 本身不止处理6个的

浏览器要处理多个请求的话,可以hack.node前面挂一个反向代理.然后挂多个域名解析.chrome针对一个域名有限制.可以多几个域名

测试并发,不要用浏览器来测试嘛

回到顶部