更真实的网络速度衡量标准

Mic*_*ens 6 networking bandwidth speed

我最近在家里设置了一个新的 1.5MB DSL 连接。在将我的计算机(无线)连接到我的 DSL 调制解调器后,我启动了一个宽带速度测试仪,看看两者是否都提供了预期的吞吐量。我的 WinXP 盒子大约有 0.7MB,而我的 WinVista 盒子大约有 1.2MB。很明显,我在 WinXP 机器上遇到了一个问题,所以我用 TCP Optimizer 调整了它的网络设置。这使得它的速度与我的另一台机器相当,两者都约为 1.2MB。

想到这一点,我问自己:我怎么知道我的速度是多少?我决定进一步测试,在 2 台机器中的每台机器上使用 2 种不同的浏览器应用 3 种不同的速度测试器,为了更好的衡量,我将每个测试重复了两次,产生了 24 个数据点(好吧,48 个,因为有上游和下游)。原始数据如下所示。请注意,数据按提供商排序,然后按速度(以 Kbps 为单位)排序,这是查看趋势的最有用的顺序——它们按执行的试验顺序显示。另请注意,我关闭了所有其他前台应用程序和窗口,但没有仔细检查服务活动,因此可能会导致一些故障。

下游活动的观察

  • 有 3 个异常值(2 个来自 XP 机器上的 Speed.IO,一个来自 Vista 上的 AuditMyPC)并且所有 3 个都在 Firefox 而不是 IE8 上。
  • 当我包含所有数据时,标准差为 244,而当我删除 3 个异常值时,标准差仅为 56。
  • SpeedTest 跨浏览器和操作系统非常一致。
  • 忽略异常值,每个服务的平均值是:
    • 速度测试 = 1334
    • 速度.IO = 1243
    • AuditMyPc = 1217

上游活动的观察

  • 没有真正的异常值,但散布比下游大得多。
  • 标准偏差为 264,包括所有数据。
  • SpeedTest 和 Speed.IO 在浏览器和操作系统上非常一致,而 AuditMyPc 则表现出色(尽管在所有情况下都比 SpeedTest 或 Speed.IO 快)。
  • 每项服务的平均值为:
    • 速度测试 = 428
    • 速度.IO = 468
    • 审计我的电脑 = 930

问题

我对我的连接速度有一些估计(下行 1270 Kpbs,上行 600 Kpbs)。基于上面给出的标准偏差,下游估计要可靠得多。我的问题是如何获得更真实或更准确的连接速度估计?(注意,我要求更真实而不是真实——我是一个实用主义者:-) 或者换句话说,人们如何判断该相信哪些数字?

原始数据

(2 台机器 x 2 个浏览器 x 3 个服务 x 2 个试验 x 2 个方向)

Machine Browser Service     Direction   Speed
XP      IE8     SpeedTest   Downstream  1340
XP      IE8     SpeedTest   Downstream  1340
Vista   IE8     SpeedTest   Downstream  1340
XP      FireFox SpeedTest   Downstream  1330
Vista   FireFox SpeedTest   Downstream  1330
Vista   IE8     SpeedTest   Downstream  1330
XP      FireFox SpeedTest   Downstream  1330
Vista   FireFox SpeedTest   Downstream  1330
Vista   IE8     Speed.IO    Downstream  1264
Vista   IE8     Speed.IO    Downstream  1263
XP      IE8     Speed.IO    Downstream  1240
XP      IE8     Speed.IO    Downstream  1235
Vista   FireFox Speed.IO    Downstream  1231
Vista   FireFox Speed.IO    Downstream  1226
XP      FireFox Speed.IO    Downstream  630
XP      FireFox Speed.IO    Downstream  353
XP      FireFox AuditMyPc   Downstream  1242
XP      FireFox AuditMyPc   Downstream  1242
XP      IE8     AuditMyPc   Downstream  1240
Vista   IE8     AuditMyPc   Downstream  1208
Vista   IE8     AuditMyPc   Downstream  1202
Vista   FireFox AuditMyPc   Downstream  1200
XP      IE8     AuditMyPc   Downstream  1182
Vista   FireFox AuditMyPc   Downstream  780
XP      FireFox SpeedTest   Upstream    430
XP      IE8     SpeedTest   Upstream    430
Vista   FireFox SpeedTest   Upstream    430
Vista   IE8     SpeedTest   Upstream    430
XP      FireFox SpeedTest   Upstream    430
XP      IE8     SpeedTest   Upstream    430
Vista   IE8     SpeedTest   Upstream    430
Vista   FireFox SpeedTest   Upstream    410
Vista   FireFox Speed.IO    Upstream    473
Vista   FireFox Speed.IO    Upstream    472
Vista   IE8     Speed.IO    Upstream    471
XP      FireFox Speed.IO    Upstream    468
Vista   IE8     Speed.IO    Upstream    466
XP      FireFox Speed.IO    Upstream    465
XP      IE8     Speed.IO    Upstream    464
XP      IE8     Speed.IO    Upstream    461
Vista   IE8     AuditMyPc   Upstream    1191
XP      FireFox AuditMyPc   Upstream    1165
XP      IE8     AuditMyPc   Upstream    1074
XP      IE8     AuditMyPc   Upstream    1022
XP      FireFox AuditMyPc   Upstream    884
Vista   IE8     AuditMyPc   Upstream    851
Vista   FireFox AuditMyPc   Upstream    677
Vista   FireFox AuditMyPc   Upstream    574
Run Code Online (Sandbox Code Playgroud)

rup*_*llo 4

Ciaran 在他的评论中提出了一个很好的观点;您必须知道测试测量的是什么,而专有带宽测试仪并不清楚这一点。

下载大文件可以让您很好地了解TCP吞吐量,但此测量对服务器的延迟(Ping 时间)非常敏感,并且可能会受到 TCP 配置设置(尤其是 TCP 接收窗口)的影响。

像 IPerf 和 ixChariot 这样的工具是由网络专业人士使用的,但这些工具并不真正适合休闲使用(例如,IPerf 在 NAT 后面很难工作)。要测量管道的最终容量,您可以使用上述工具之一通过单向 UDP 数据报流淹没您的连接。

在线带宽工具使用一些技巧来尝试将吞吐量提高到超出单个 TCP 连接的性能。我发现 speedtest.net 通常为您提供的平均下载速度比您通过计时大文件下载所测得的速度高出约 30-40%。我通过对 speedtest 本身使用的文件进行计时下载来确认这一点。

使用 Wireshark,我进行了以下观察;

  1. 速度测试客户端在测量带宽时同时下载两个文件 - 这提供了比单个文件稍高的总吞吐量
  2. 速度测试速度计报告每秒瞬时吞吐量的高百分位 (90-95%) - 而不是长期平均值

速度测试 GUI 表明您的 mp3 下载将以测量的速率进行。这有点误导,因为测量的速率更能代表链路上可实现的峰值吞吐量。

替代文本