advanced

Latency

Снижайте время запроса, находя медленные зависимости, стоимость сериализации, queueing, блокировку event loop и cold-start пути.

Latency — сколько длится одна операция end to end, обычно p50/p95/p99, а не только среднее. Для Node.js API latency складывается: DNS, TLS, queueing, handler, downstream RPC, БД, сериализация.

					Client → LB wait → App queue → Handler → DB → Response serialize
				

| Источник | Что проверить | |----------|---------------| | Queueing | Event-loop lag, saturation thread pool | | Dependencies | Медленные HTTP, DNS, cold starts | | Data access | N+1, нет индексов, большие payload | | Serialization | Огромные JSON, sync `JSON.stringify` |

Снижайте latency по traces: бейте по самому длинному span. Cache и pooling помогают после идентификации медленного шага.

На интервью: tail latency vs среднее; cold start serverless; как concurrency увеличивает queueing; SLO вроде «p95 < 300ms».

Типовые ошибки: оптимизация среднего при удвоении p99; cache до исправления запросов; игнор TLS и географического RTT.

Компромисс — воспринимаемая скорость против консистентности, retry и стоимости железа.

Чеклист:

  • Перцентили per route.
  • Trace критичных journey.
  • Атака на крупнейший span.
  • Повторное измерение после изменений.