您可能知道,从服务器下载文件时使用多个 HTTP 线程可以显著提高下载速度,甚至达到最大值。控制每个请求吞吐量的是什么?我有三种可能性:客户端、服务器和 ISP。示例:我目前在大学使用 100Mbit 连接(speedtest.net 确认我确实有这种 BW。如果我使用单个 HTTP 请求从我的 VPS(nginx)下载,速度会停留在 800-900KB/s,但是如果我使用 4 个或更多线程,我几乎可以将其最大化到大约 9MB/s(可能是 VPS 连接的限制)。那么,如果两端都可以使用 BW,为什么不一起给出呢?
答案1
我有三种可能性:客户端、服务器和 ISP。
有 N 种可能。最后一个“ISP”实际上是:
- 服务器 ISP
- 客户端 ISP
- 介于两者之间的任何人
大多数情况下,在延迟较大的场景中也会有一些损失。
但是假设您有 100mbit 的链路,因为两端都有更多带宽,这可能会忽略链路之间的带宽等项目。除非您非常本地化,否则流量将跨越多个网络。
答案2
有很多方法可以针对每个流限制带宽。如果没有更多信息,我无法判断正在使用哪种方法。