Как ответить
Когда говорят про «время ответа» (response time) или «латентность», подразумевают интервал между отправкой запроса и получением первого байта ответа (или всего ответа). Это одна из ключевых метрик производительности — она показывает, как быстро система реагирует на действия пользователя. Для веб-сервера или API это обычно время в миллисекундах, и его измеряют на стороне клиента (пользовательское восприятие) или на стороне сервера (время обработки).
На практике метрику считают не усреднённо, а по процентилям: p50, p90, p99. Например, p99 = 300 мс означает, что 99% запросов обрабатываются быстрее 300 мс, а 1% — дольше. Среднее (mean) обманчиво: один выброс на 10 секунд может сильно исказить картину. Поэтому в мониторинге используют именно процентили — они показывают реальное качество, особенно для «медленных» пользователей.
Как измерять? На сервере — логировать время в middleware. Пример на Node.js с Express:
app.use((req, res, next) => {
const start = Date.now();
res.on('finish', () => {
const latency = Date.now() - start;
logMetric('latency_ms', latency, { path: req.path, method: req.method });
});
next();
});То же можно делать на любом языке: замерить время до и после обработки, записать в систему мониторинга (Prometheus, StatsD).
На что смотреть:
- p50 — типичная скорость, комфортная для половины пользователей.
- p90 и p99 — «хвосты»: если они растут, значит есть проблемы с кешированием, медленные БД, тяжёлые запросы или внешние вызовы.
- p99 особенно критичен для SLA — клиенты часто ожидают, что 99% запросов укладываются, скажем, в 200 мс. Превышение ведёт к штрафам.
Важно отличать latency от throughput (пропускная способность). Первая — про скорость отдельного запроса, вторая — про количество запросов в секунду. Узким местом может быть и то, и другое. Например, если latency выросла, то и throughput может упасть, потому что запросы дольше висят и занимают потоки.
Для junior-разработчика полезно запомнить: любая метрика должна иметь чёткое определение (как замерили, когда замерили, в каких единицах), иначе её нельзя использовать для принятия решений. На собеседовании, если спрашивают «что подразумевается под данной метрикой?», уточните, о какой именно идёт речь, и дайте ответ в разрезе её назначения, единиц, способа сбора и интерпретации.