首页 > 解决方案 > 对同一域的多个 api 请求会产生较慢的响应时间

问题描述

我在 google chrome 浏览器上使用本机获取。尝试向同一个域发送多个 API 请求。

const parallel = 100
Promise.all(Array(parallel).fill('').map(() => fetch(url, {method: 'POST', body: JSON.stringify(data) })))

data变量本身约为 41802kb。

调试网络,我意识到Request sent耗时最长 在此处输入图像描述

比较相同的请求,但何时parallel=10 在此处输入图像描述

我能做些什么来改善这一点?使用该node-fetch包的 nodejs 具有相同的行为。是否有任何解决方案可以在不损失快速响应时间的情况下并行运行对同一域的多个请求?

标签: javascriptnode.jsnetworkingfetchgoogle-chrome-devtools

解决方案


当您在对同一域的并行请求中失去快速响应时间时,这取决于许多因素,例如,您应该在这里找到瓶颈,

1 - 网速

2 - API 服务器下行速度

3 - API服务器上的比率控制和DDoS控制

ETC ...

为了检查互联网速度,您可以检查您的带宽并部署一些本地 HTTP 服务器并发送并行请求并比较结果,因为我知道很少有问题来自客户端代码,通常它取决于所说的项目


推荐阅读