Web性能测量中的“交互时间”度量标准

时间:2014-04-28 09:45:59

标签: performance performance-testing web-frontend

显然,“交互时间”是在测量网页感知速度时使用的新指标。我有兴趣了解它实际上是什么。

这个术语显然是由Radware创造的,并且被推作为最有意义的性能测量(与Time to First / Last Byte,Time to Render等相比)。

它被描述为:

  

页面显示其主要交互的点(想想   可点击的内容,而不是整页加载。

这对我来说似乎很主观;例如,网页的“主要互动内容”是什么?

有报道引用了测量结果,因此有些测量结果如何,而且必须自动化,因为结果集非常大(测试了~500个站点)。

除了以上引用之外,我找不到有关如何衡量这一点的更多信息。

由于Google更加重视折叠内容(或可见内容),我想知道这个指标是否实际上更像是“有意义渲染的时间”,即它是当前页面目标的上下文。例如,在电子商务网站的产品页面上,这可能是主图像和添加到购物篮链接。

我很想理解这个指标,对我而言,它似乎是最有用的指标。因此,我的问题是,是否有人在衡量这一点,如果是这样,他们是如何衡量的?

2 个答案:

答案 0 :(得分:5)

你回答了自己的问题,这对你当前的项目来说是主观的和背景的。

如果我在没有任何复杂资源的情况下测试只有HTML的网站怎么办?没有必要在那里测量TTI。另一方面,让我们看看demo site

enter image description here Bigger picture here.

蓝线标记“COMContentLoaded”事件(加载主文档并解析标记),红线表示加载所有页面资源的加载事件。 TTI线将介于两条线之间,根据交互资源加载事件的一些必要条件,每条线的定义不同。

enter image description here

例如,假设演示网站上的图片对网站的核心功能不是必不可少的。虽然主站点在0.8秒内加载,但是3张大图片需要额外加载36秒,因此在这种情况下使用总体响应时间作为KPI将产生约36秒的响应时间,而如果您定义TTI除了那些大的,非必要的资源,你最终得到< 1s响应时间。

  

我很想理解这个指标,对我而言,它似乎是最有用的指标。​​

绝对有用,但正如你在问题中所说,这是项目的具体内容。您不会在一个简单的,相对静态的Web应用程序上测量TTI,您可能会测量总体响应时间。我总是为当前项目定义“定制”的KPI,而不是尝试使用常用指标,并在项目中“强制使用”。

  

因此,我的问题是,是否有人在衡量这一点,如果是这样,他们是如何衡量的呢?

以前肯定使用它,你应该确定你网站的基本资源,当这些资源的最后一个加载时,那就是你的TTI。这可能是一个javascript文件,一个CSS等...

答案 1 :(得分:4)

网站变得越来越复杂。虽然他们可能并不总是包含更多内容,但他们仍然需要加载更多资源,因为从技术角度来看,用户交互/用户体验更复杂。 Ajax帮助我们分别加载不同的部分。因此,与一个页面加载相比,我们可以加载几个小东西。对于这些部件中的每一个,我们都可以测量负载性能。但网站上可能有些部分可能比其他部分更重要。 “主要互动内容”是您的视图的一部分,使用户能够执行他打算做的事情,例如购买火车票。如果屏幕左侧的某些广告或特殊动画未加载,则不会阻止用户购买开始购票。但当然“主要互动内容”作为一个术语是相当模糊的,你必须为你的特定应用定义它。一般用户可以并且将开始与网站交互,而某些部分是基础加载。

这就是我理解这个概念的方法,我在这里看到“时间到第一个有意义的渲染”的区别:你的电子商务页面上可能有一个篮子,但GUI还没有响应。所以你看到一些有意义的东西,但交互性还没有。因此TTI> = TtFMR。

测量TTI要求您定义交互所需的元素,这不仅取决于站点的作用,还取决于它是如何做的。所以它在很大程度上取决于您的实施/技术。