ENIGMA AI
ENIGMA AI

Что именно подразумевается под данной метрикой?

встречается 1× junior general

Как ответить

Когда говорят про «время ответа» (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-разработчика полезно запомнить: любая метрика должна иметь чёткое определение (как замерили, когда замерили, в каких единицах), иначе её нельзя использовать для принятия решений. На собеседовании, если спрашивают «что подразумевается под данной метрикой?», уточните, о какой именно идёт речь, и дайте ответ в разрезе её назначения, единиц, способа сбора и интерпретации.

Ключевые тезисы

  • Метрика определяется интервалом между запросом и ответом, измеряется в миллисекундах.
  • Используются процентили (p50, p90, p99), а не среднее — они устойчивее к выбросам.
  • Измерять можно на серверной стороне middleware-логированием или на клиенте (User Timing API).
  • Высокий p99 указывает на проблемы в «длинном хвосте» — медленные запросы, блокировки, внешние сервисы.
  • Метрика должна быть однозначно определена: что именно считается (время до первого байта или полное), в каких единицах, как агрегируется.

Что спросят дальше

  • — Какие ещё метрики производительности вы знаете и как они связаны с latency?
  • — Как вы будете искать причину роста p99 с 200 мс до 500 мс? Опишите шаги.
  • — Чем отличается измерение latency на клиенте от измерения на сервере и в каких случаях какой подход предпочтительнее?

Готовьтесь к собеседованию с ENIGMA AI

AI-суфлёр подсказывает ответы прямо на собеседовании в реальном времени — незаметно для интервьюера.

Скачать приложение