2

我想向网页添加一项功能,以显示用户的上传速度(帮助他们预测文件上传需要多长时间)。

我很高兴找到一个很酷的例子来说明如何使用 javascript 做到这一点,但是当我去检查其他(有信誉的?)测试源的结果时,结果到处都是!

我对上传速度特别感兴趣。

在我的工作以太网上:

http://testmy.net - 15Mbps

http://bandwidth.com/tools/speedTest/ - 25Mbps

http://www.brandonchecketts.com/speedtest - 3.2Mbps

http://codecanyon.net/item/javascript-bandwidth-tester/full_screen_preview/531891 - 6Mbps

http://thinkingstiff.com/scripts/upload-speed - 1-2Mbps
(上述脚本作者的现场演示)

最初我认为这是由于其他用户的流量等原因导致我的网络出现波动。但是我整个下午都在重新测试,每次测试都与它自己非常一致。有些比其他的多,但一般在 5% 以内。

所以我想知道:

  1. 测试这个不是很简单吗?
  2. 有没有可靠的工具来测试这个?还是我应该自己手动完成?
4

2 回答 2

1

这完全取决于您真正想要测试的内容。你想测试从那个用户到你的服务器的上传速度,还是你想给用户一个工具,一个速度测试工具,让他看到它的一般上传速度?

从这个问题来看,我认为是后一个问题,我会说你没有可靠的方法来做到这一点。您所能做的就是测试服务器和客户端之间的速度。你找到的工具可能会很好地做到这一点。但这个速度取决于很多因素,并不是真正具有代表性的场景,您可以从中得出用户对互联网的访问速度。我不知道我是否解释了我想说的话,但我会给你一个例子:

假设用户位于欧洲并且拥有 50/10 mbps 的网络连接。您的服务器位于美国。当您测试上传速度时,流量必须通过许多路由器才能从欧盟到达美国,并通过可能拥塞或遇到其他问题的网络,从而降低速度。因此,例如,他在客户端和您的服务器之间获得的速度是 3mbps。另一方面,如果他要测试他和靠近他的某个服务器之间的速度,比如在他的 ISP 网络内,他可能会得到承诺给他的 10mbs 的全速。这就是为什么您在同一台测试服务器上获得一致的速度,但在相互比较时却不同。

在测试带宽时,尽可能靠近客户端至关重要。这就是为什么很多 ISP 都建立了自己的速度测试服务器,以便用户可以检查他们对 Internet 的访问速度。除此之外的一切都不是真正相关的,因为速度会因服务器而异(有时会很大),并且不能被视为有效结果。

于 2013-08-02T21:29:29.060 回答
0

W3C 一直在努力解决这个问题,但是这个 jsFiddle用来XMLHttpRequest测试上传速度。据我所知,W3C 没有制定黄金标准。

于 2013-08-02T20:33:25.713 回答