Карточка Senior Производительность и профилирование обновлено

Как бороться с хвостовыми задержками

Вопрос

Назовите приёмы снижения хвостовых задержек (p99, p99.9).

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

Таймауты и дедлайны с распространением по цепочке; хеджированные запросы (дублировать запрос на другую реплику, если первый не ответил за p95); ограничение очередей и отбрасывание запросов при перегрузке; вынос тяжёлой работы из горячего пути в фон; прогрев кешей и соединений; уменьшение пауз GC; изоляция шумных…

Ответ

Таймауты и дедлайны с распространением по цепочке; хеджированные запросы (дублировать запрос на другую реплику, если первый не ответил за p95); ограничение очередей и отбрасывание запросов при перегрузке; вынос тяжёлой работы из горячего пути в фон; прогрев кешей и соединений; уменьшение пауз GC; изоляция шумных соседей.

Разбор

Источник многих идей: статья «The Tail at Scale» (Dean, Barroso, 2013).

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.