Dynatrace 中的 Speed Index 是一种度量网页加载速度的标准,它与 Visually Complete 类似,但更加精细。Speed Index 是一个计算值,反映了整个页面的加载速度,并将所有重要元素的渲染时间考虑在内。与 Visually Complete 不同的是,Speed Index 指标考虑了渲染过程中的不同阶段,可以提供更详细的性能信息。
Speed Index 的计算方法是将页面加载过程中的每个时刻的视觉状态记录下来,并将它们与最终页面状态进行比较。这个比较会计算页面中每个像素的变化量,并将这些值相加以得出 Speed Index。Speed Index 值越低,表示页面的加载速度越快,用户体验越好。
Speed Index 是一种非常有用的度量标准,可以帮助开发人员了解网站的整体性能,并确定需要优化的部分。它还可以与其他度量标准如 Visually Complete 和 Time to First Byte 结合使用,提供更全面的性能分析。
RUM JavaScript 中的解决方案使用与 WebPageTest 相同的算法,但它使用从视觉上完整捕获的可见元素。 这些是“真正的”页面元素。 屏幕截图比较 (webpagetest.org) 的优势在于 Visually complete 了解页面上的元素及其时间。 截图对比只反映页面的视觉变化。 因此,例如,如果有一个连续变化的旋转 GIF,则 webpagetest.org 的视觉完整和速度索引时间将不准确。
Speed Index 通过测量某些标记之间网页的加载进度以及在给定时间点保持未加载的元素的百分比来计算指数。
对于 XHR 操作,DOM 内容的观察从 XHR 操作的回调开始开始,到回调结束后 50 毫秒结束。 图像、样式表或 IFrame 等外部资源的任何变化都会导致 RUM JavaScript 向这些资源添加加载侦听器。 这会将 XHR 操作时间延长到观察到的时间范围内添加的最后一个资源。