cURL Basics — документация К тестеру

устойчивость клиентского запроса

Текст термина (дословно из источника)

Устойчивость запроса - это способность клиента корректно завершать операции при нестабильной сети и временных сбоях сервиса.

Простыми словами: клиент должен "падать предсказуемо" и "повторять безопасно".

Ключевые настройки:

  1. Таймаут соединения (--connect-timeout)
  • Ограничивает ожидание установки TCP/TLS соединения.
  1. Общий таймаут (-m/--max-time)
  • Ограничивает максимальную длительность запроса целиком.
  1. Retry
  • Повторяет запрос при временных ошибках, но с лимитом попыток.
  1. Backoff
  • Увеличивает паузу между повторами (например 1s -> 2s -> 4s), снижая давление на API.
  1. Идемпотентность
  • Повторы безопаснее для read-операций; для write-операций нужна дополнительная защита от дублей.

На примере Метрики:

  • read-сценарии (/stat/v1/data, /management/v1/counters) обычно хорошо подходят для контролируемого retry;
  • при 429 нужно применять backoff и пересматривать частоту запросов;
  • для workflow выгрузок важен контроль состояния задач, а не агрессивные повторы "в лоб".

Практический вывод:

  • Retry без стратегии backoff ухудшает стабильность вместо улучшения.
  • Для Метрики лучше иметь разные профили таймаутов/повторов для read-API и тяжелых workflow.