我的客户抱怨网速太慢。用 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 之间的差异吗?
speedtest 是否忽略了某些东西,或者它只测量峰值?或者 wget 是否受到较长 ping 时间的严重影响?
我觉得wget测试给出的是真实有效的速度,而speedtest主要是为了显示广告上的速度。
答案1
除了上述原因之外,TCP 连接在处理大文件时效果不佳,因为带宽延迟积变大。
就像通过其他方式快速连接到岛屿一样。
因此,Speedtest 可以以 95 mb/秒的速度通过连接转储一个小文件,但wget
对于 20 MB 的文件只能获得 10 mb/秒的速度。
答案2
ISP 通常会优先将流量分配到 speedtest.net,以便吹嘘他们的连接速度有多快,但实际上他们并没有提供那么多带宽。他们完全清楚大多数用户只会查看该网站以进行确认。
你还必须记住,传输速度取决于客户端和服务器。在当今世界,大多数服务器都以这样或那样的方式受到限制。
最后,期望海外连接有稳定的带宽是没有意义的。根本没有这样的事。它必须经过无数个交换机、光纤、数据中心才能到达最终位置。而它所需要的只是一运动部件减速。
答案3
wget
提供良好的实际速度测量。Speedtest 的测试可能包括可以解释更高数字的并行性。
为了获得良好的平均速度测试,我认为下载时间至少应为 90-120 秒(以获得良好的平均值)
答案4
使用Fast.com 互联网速度测试,这是基于 Netflix 的速度测试,这意味着 ISP 无法将其与 Netflix 本身区分开来。
通常来说,这项测试比其他任何测试都更准确。人们不会担心网页加载速度有多快,而是担心由于显示视频所需的带宽增加,视频缓冲的速度有多快。
如果是速度测试或使用端口 8080,ISP 通常会根据某人连接的域来提高速度。而 Netflix 在优先处理时使用端口 80,这是一个速度较慢的端口。