【问题标题】:about measuring bandwidth with javascript关于用 javascript 测量带宽
【发布时间】:2013-04-18 06:52:56
【问题描述】:

我正在尝试将 java 脚本 sn-p 注入网页。在java脚本中,我尝试 测量该网页下载的总数据量,然后将数据大小除以页面加载时间来计算带宽。

有谁知道如何在java中测量完整事件中下载了多少数据 脚本?

最推荐的测量带宽的方法是有目的地下载一个文件来测量我 不想用。

非常感谢

【问题讨论】:

标签: javascript bandwidth


【解决方案1】:

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

最推荐的方式也是最简单的方式,因为:

  1. 你知道文件的大小
  2. 您可以获得下载所需的时间
  3. 您可以控制它的开始和结束时间

通常可以。但是使用当前页面上加载的资源来衡量速度的问题是您需要挂钩到每个资源,其中包括(但不限于):

  • 图片
  • 脚本
  • 样式表
  • XHR (AJAX)
  • 套接字
  • 页面本身
  • 以及我错过的其他内容。

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

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

我建议你坚持简单的方法。

【讨论】:

    【解决方案2】:

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

    之前在 stackexchange 上问过一个类似的问题:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-22
      • 2013-02-19
      • 1970-01-01
      • 1970-01-01
      • 2021-11-20
      • 1970-01-01
      • 2016-07-31
      • 2013-02-03
      相关资源
      最近更新 更多