Является ли сеть chrome devtool TTFB неправильной? - PullRequest
0 голосов
/ 14 января 2020

Согласно chrome Фазы разбивки по времени объяснены .

  • Ожидание (TTFB). Браузер ожидает первый байт ответа. TTFB означает время до первого байта. Это время включает в себя 1 круговую задержку и время, затраченное сервером на подготовку ответа.
  • Загрузка контента. Браузер получает ответ.

Но я обнаружил, что TTFB всегда ошибался. Ниже приведен очень простой пример: Express повторный запрос после setTimeout(500).

const express = require('express')
const app = express()
const port = 5000

app.get('/', (req, res) => {
  setTimeout(() => {
    res.send('Hello World!')
  }, 500)
})

app.listen(port, () => console.log(`Example app listening on port ${port}!`))

chrome снимок экрана devtool

Chrome показ сети devtool TTFB - 2,02 с, Content Download - 1,57 мс. Хотя я использую API производительности для проверки responseStart и responseEnd, результат более разумный.

var perf = performance.getEntries()[0];
console.log(perf.responseStart - perf.requestStart, perf.responseEnd - perf.responseStart);
// 502.5050000404008 1515.1599999517202
...