关于用javascript测量带宽

时间:2013-04-17 22:18:25

标签: javascript bandwidth

我正在尝试将java脚本片段注入网页。在java脚本中,我尝试 衡量为此网页下载的数据总量,然后将数据大小除以页面加载时间来计算带宽。

有没有人知道如何衡量在java中完整事件中下载的数据量 脚本?

最有建议的测量带宽的方法是有目的地下载文件以测量哪个I 不想用。

非常感谢

2 个答案:

答案 0 :(得分:1)

获得带宽(上传和下载)的最佳建议方法是下载/上传已知大小的文件,取出开始时间和结束时间的差异,然后将大小除以下载时间/上传它。

最常用的方式也是最简单的方式:

  1. 你知道文件的大小
  2. 您可以获得下载所需的时间
  3. 并且您可以控制开始和结束的时间
  4. 通常你可以。但是使用当前页面上加载的资源来衡量速度的问题是你需要挂钩每个资源,包括(但不限于):

    • 图像
    • 脚本
    • 样式表
    • XHR(AJAX)
    • 插座
    • 页面本身
    • 和我错过的其他东西。

    页面在顺序和并行请求的组合中加载资源,这些请求在不同的时间点开始和结束。有些甚至可能会使用加载程序脚本延迟加载,这在您尝试检查时可能尚未响应。

    此外,如果您使用此脚本,则此脚本必须在所有内容之前加载方式以挂接到页面上的所有内容。这里的另一个问题是并非所有资源都有可靠的onload事件,尤其是link元素。

    我建议你坚持使用简单方法。

答案 1 :(得分:0)

您可以查看Navigation Timing API以获取页面加载时序并计算页面中的字符以给出大小(以字节为单位),这当然不会为您提供真正的带宽,因为它会不包括tcp流量标头的开销。当然,你必须考虑其他物体的尺寸,例如图像等。只是一些想法从我的头顶。

之前在stackexchange上提出过类似的问题:

How to get current page size in KB using just javascript?