Калькулятор повторов и backoff
Спланируйте тайминг повторов для нестабильных сетевых вызовов: базовая задержка, множитель, попытки, джиттер и предел, а также худшее время ожидания.
🔒 Этот инструмент работает полностью в вашем браузере. Ваши файлы никогда не загружаются на сервер.
Худшее суммарное ожидание
Задержка последней попытки (без джиттера)
Задержки по попыткам
| Попытка | Базовая задержка | С джиттером (пример) |
|---|
Как это работает
- Задайте базовую задержку, множитель роста, число попыток и необязательный предел задержки.
- Задержка каждой попытки вычисляется как база × множитель^(попытка − 1) и ограничивается пределом.
- Включите полный джиттер, чтобы увидеть случайную примерную задержку рядом с детерминированным значением.
- Смотрите худшее суммарное ожидание, чтобы задать таймауты и состояния загрузки для пользователя.
FAQ
Что такое экспоненциальный backoff?
Стратегия повторов, при которой каждая неудачная попытка ждёт дольше предыдущей, обычно умножая прежнюю задержку на фиксированный коэффициент, вплоть до максимального предела. Это снижает нагрузку на перегруженный сервис вместо того, чтобы забрасывать его немедленными повторами.
Зачем добавлять джиттер?
Если много клиентов повторяют попытки по одному и тому же расписанию, они могут обратиться к серверу все в один момент ("thundering herd"). Добавление случайности (джиттера) к каждой задержке распределяет повторы во времени.
Как используется предел задержки?
Как только вычисленная задержка превысила бы предел, она ограничивается значением предела. Так повторы не растут бесконтрольно на последующих попытках.
Делает ли этот калькулятор реальные сетевые вызовы?
Нет — он лишь вычисляет тайминг задержек по введённым числам. Никуда ничего не отправляется.
Как мы выглядим на фоне других
| Возможность | Online Tool Store | Расчёт вручную |
|---|---|---|
| Мгновенно видеть всё расписание повторов | ✓ | ✗ |
| Сравнивать задержки с джиттером и без | ✓ | Требуется скрипт |
Подбирать параметры повторов методом проб и ошибок в продакшене рискованно. Этот калькулятор позволяет заранее увидеть всё расписание задержек и худшее время ожидания, прежде чем встраивать его в код.