我的客户抱怨网速低。当使用 Speedtest.net 测量时,速度是可以接受的。定期测量的下载量是标称速度的 10% 到 30%。我无法解释。
一些背景。有问题的连接位于阳光明媚的加勒比海岛屿之一,那里的快速互联网并不是最大的资产。最近互联网速度变得不错,高达 200 Mbps。但是到(比如说)阿姆斯特丹的 ping 往返时间大约是 180 毫秒。
客户拥有 100 Mbps 光纤连接。在 Windows 机器 (speedtest.net) 上对 ISP CO 进行速度测试时,我们获得 95 Mbps。当对阿姆斯特丹使用相同的速度测试时,我们达到了 60-70 Mbs。完全可以接受。
前段时间我安装了一个 RasPi,它会定期从我在阿姆斯特丹的一台服务器中获取文件。在直接连接到 AMS-IX 的数据中心中。使用此命令:
wget -O /dev/null --report-speed=bits http://aserv.example.net/~myuser/links/M77232917.txt
.txt 文件是 23MByte 的数字。(实际上它是最大的梅森素数,23e6 位)
当我在有问题的网络上下载该文件时,wget 会报告:
dev/null 100%[====================================================================>] 22.81M 11.6Mb/s in 17s
2019-02-08 14:27:55 (11.2 Mb/s) - ‘/dev/null’ saved [23923322/23923322]
同时 speedtest.net 报告 60-70 Mbps。
我知道 Raspi 有其局限性。但是这个速度变化很大。一次 RasPi 报告此 11 Mbps,下一次报告 22 Mbps。但有时低至 1.5 Mbps。
当我使用功能非常强大的笔记本电脑进行此测试时,最高速度略高(高达 30 Mbps),但也显示出同样的低速。因此,它表明 RasPi 在高端的限制,但不是 10 Mbps 的低端。
我从德国慕尼黑的数据中心的服务器发出完全相同的命令。速度 96 Mbps。
然后来自荷兰的消费者 100 Mbps 光纤连接:65 Mbps。
然后,在我家标称 10 Mbps ADSL。Speedtest 显示 10Mbps。Wget 提供 8.5 Mbps。这在我的书中是平等的。
这排除了对充当文件下载主机的服务器的任何限制。
我不希望任何人能指出客户端连接缓慢的原因。但是谁能解释 speedtest.net 和 wget 之间的差异?
速度测试是否忽略了某些东西,还是仅测量峰值?还是 wget 受到长 ping 时间的严重影响?
我觉得wget测试给出的是真实有效的速度,而speedtest主要是为了展示标榜的速度。
ISP 通常会优先考虑到 speedtest.net 的流量,以便他们可以吹嘘他们的连接速度有多快,而实际上,他们并没有提供那么多带宽。他们非常清楚大多数用户只会检查该站点以进行确认。
您还必须记住,传输速度取决于客户端和服务器。在当今世界,大多数服务器都以一种或另一种方式节流。
最后,期望稳定的海外连接带宽是没有意义的。只是没有这样的事情。它必须经过无数个交换机、光纤、数据中心才能到达最终位置。所需要的只是减速的一个活动部分。
除了发布的其他原因之外,当带宽延迟产品变大时,TCP 连接不能很好地处理大文件。
就像在与岛屿的其他快速连接上一样。
请参阅Wikipedia 关于 TCP 调优的条目。
所以 Speedtest 可以通过连接以 95 mb/秒的速度转储一个小文件,但
wget
在 20 MB 的文件上只能获得 10 mb/秒的速度。wget
给出良好的实际速度测量。Speedtest 的测试可能包括一种可以解释更高数字的并行性。为了获得良好的平均速度测试,我认为下载时间至少应为 90-120 秒(以获得良好的平均速度)
一个原因可能是单个 TCP 连接通常无法达到最大速度。
Speedtest.net 最近推出了单连接模式。试试这个,看看它是否有所作为。
然后,对于下载,例如使用带有参数的aria2来使用多个连接并进行比较。例如
aria2c -d /dev -o null --allow-overwrite=true --file-allocation=none --max-connection-per-server=8 --min-split-size=1M http://aserv.example.net/~myuser/links/M77232917.txt
使用Fast.com Internet Speed Test,这是基于 Netflix 的速度测试,这意味着 ISP 无法将其与 Netflix 本身区分开来。
这是一个比任何其他测试更准确的测试。人们不会担心网页加载的速度,而是会担心视频缓冲的速度,因为显示视频所需的带宽增加了。
如果是速度测试或使用端口 8080,ISP 通常会根据某人连接的域来提高速度。而 Netflix 使用端口 80,这是一个较慢的端口,当它被优先考虑时。
只是我还是没有人注意到他说 Mbps 和 wget 命令列表“MB/s”。
60mbp/s 和实际获得 11.2Mb 是正常的。
Mbps 和 MB/s 是两种不同的速度。
“兆位是兆字节的 1/8,这意味着要在 1 秒内下载 1 MB 的文件,您需要 8 Mbps 的连接。”所以 11mbx8=88mbps...11.2Mb 实际上适合连接报告60-70mbps。
有记忆的人会因此失去遮阳篷吗?以 70Mbps 的测速速度,您将永远无法获得 70mb/s