计算和验证第一个字节的时间 (TTFB)

pmb*_*b88 3 performance firebug pagespeed google-chrome-devtools firefox-developer-tools

我得到了以下公式来测量第一个字节的时间 (TTFB)、TTFB 到 DOM 就绪和页面加载。

TTFB

window.performance.timing.responseStart - window.performance.timing.navigationStart
Run Code Online (Sandbox Code Playgroud)

TTFB 到 DOM 就绪

window.performance.timing.domComplete - window.performance.timing.navigationStart
Run Code Online (Sandbox Code Playgroud)

页面加载

window.performance.timing.loadEventStart - window.performance.timing.navigationStart
Run Code Online (Sandbox Code Playgroud)

这些公式正确吗?我如何才能检查它们?我听说您可以在 Firebug 的网络面板中测量它们,但检索这些值似乎很麻烦。不确定您在 Chrome 中从何处获得这些值。

那么,如何确定这些测量值呢?

Seb*_*ner 9

Firebug 实际上可以很容易地看到这些时间。你只需要window.performance.timing在它的命令行中执行,它就会显示一个图表,并在下面列出所有时间,如下所示:

<code>window.performance.timing</code> 在 Firebug 中的显示

此外,根据MDN上的描述,我认为您的计算应该从 开始fetchStart,因为这是浏览器准备好使用 HTTP 请求获取文档的时刻。根据您对DOM Ready的定义,该测量的结束时间也可能是domInteractivedomContentLoadedEventStart时间。

所以,我想说正确的测量是:

TTFB

window.performance.timing.responseStart - window.performance.timing.fetchStart
Run Code Online (Sandbox Code Playgroud)

TTFB 到 DOM 就绪

window.performance.timing.domInteractive - window.performance.timing.fetchStart
Run Code Online (Sandbox Code Playgroud)

页面加载

window.performance.timing.loadEventStart - window.performance.timing.fetchStart
Run Code Online (Sandbox Code Playgroud)