控制单个 HTTP 请求速度到底是什么?

控制单个 HTTP 请求速度到底是什么?

您可能知道,从服务器下载文件时使用多个 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

有很多方法可以针对每个流限制带宽。如果没有更多信息,我无法判断正在使用哪种方法。

相关内容