Backoff wykładniczy

Wpisz bazę, próbę i mnożnik. 1, 3 i 2 dają 8,0000 s. 0,5, 5 i cap 10 dają 10,0000 s. 2 i próba 0 dają 2,0000 s. Sekwencja opóźnień, nie live klient.

To baza × mnożnik^próba, z opcjonalnym cap. Nie live klient HTTP. Limit okna jest na kalkulatorze limitów API (rate limit).

Dane

Opcje dodatkowe (opcjonalnie)

Wynik

Wprowadź dane i kliknij Oblicz.

Często zadawane pytania

Kiedy używać exponential backoff?
Przy retry API (429/5xx), kolejkach i połączeniach DB — żeby nie młotkować usługi.
Co daje dłuższy backoff?
Wolniejsze ponowienia i mniejsze obciążenie; zbyt długi opóźnia odzyskanie.
Jakie wartości są typowe?
Base 0,5–2 s, mnożnik 2, max kilka–kilkadziesiąt sekund; jitter 10–50%.
Co wygląda „źle”?
Stałe krótkie retry bez capu/jittera (thundering herd) albo backoff rosnący w minuty bez limitu.

Jak to działa?

Backoff wykładniczy na tej karcie liczy przerwę z sekwencji. 1 s, próba 3 i mnożnik 2 dają 8,0000 s. 0,5, próba 5, ×2 i cap 10 dają 10,0000 s. 2 s i próba 0 dają 2,0000 s. Wzór: baza × mnożnik^próba. To nie live klient.

Pola: rb-base, rb-attempt, rb-mult, opcjonalne rb-max i rb-jitter. 1 × 2^3 = 8. 0,5 × 2^5 = 16, ścięte do 10. 2 × 2^0 = 2. Jitter w drugim przykładzie to 20, ale primary zostaje cap albo sama przerwa, nie losowa próbka.

8,0000 s nie schodzi z axios. 10,0000 s nie jest Retry-After. 2,0000 s nie jest live client. Wpisujesz bazę i próbę sam. Karta nie woła API.

Limit API obok mnoży RPM przez okno. Czas trwania składa godziny. Tu 1, 3 i 2 zostają 8,0000 s, sekwencja opóźnień.

Wpisz 1, 3 i 2, potem Oblicz. Wynik to 8,0000 s. Przecinek w 0,5 działa. Pusta próba to błąd. To nie live retry.

1, 3 i 2 dają 8,0000 s. 0,5, 5 i cap 10 dają 10,0000 s. 2 i 0 dają 2,0000 s. Inna próba przy 1 zmienia 8,0000 s.

Wzór

opóźnienie = baza × mnożnik^próba, potem opcjonalny cap. Sekwencja, nie live klient.

Jak korzystać

  1. Wpisz bazę 1, próbę 3 i mnożnik 2.
  2. Kliknij Oblicz. Wynik to 8,0000 s.
  3. 0,5, 5 i cap 10 dają 10,0000 s. 2 i próba 0 dają 2,0000 s.
  4. To sekwencja opóźnień, nie live klient.
  5. Okno zapytań licz na kalkulatorze limitów API (rate limit).

1 s, próba 3 i ×2 = 8,0000 s

Baza × mnożnik^próba. 1, 3 i 2 dają 8,0000 s. Sekwencja, nie live klient.

Backoff
Przerwa z sekwencji. 1, 3 i 2 zostawiają 8,0000 s. Nie axios.
wykładniczy
mnożnik^próba. 0,5 i 5 z cap 10 dają 10,0000 s.
próba
Pole rb-attempt. 0 przy bazie 2 zostawia 2,0000 s.

Przykłady

Przykład 1

  • baza 1 s
  • próba 3
  • mnożnik 2

8,0000 s

Ile s przy 1, próbie 3 i ×2? 8,0000 s. Sekwencja opóźnień, nie live klient.

Przykład 2

  • baza 0,5 s
  • próba 5
  • mnożnik 2
  • cap 10
  • jitter 20

10,0000 s

Ile przy 0,5, 5 i cap 10? 10,0000 s. 16 ścięte do 10.

Przykład 3

  • baza 2 s
  • próba 0
  • mnożnik 2

2,0000 s

Ile przy 2 i próbie 0? 2,0000 s. 2^0 zostawia bazę.

Powiązane kalkulatory

Najczęstsze pytania

Ile s przy 1, próbie 3 i ×2?

8,0000 s. 1 × 2^3. Sekwencja, nie live klient.

Ile przy 0,5, 5 i cap 10?

10,0000 s. 0,5 × 2^5 = 16, ścięte do 10.

Ile przy 2 i próbie 0?

2,0000 s. 2 × 2^0 zostawia bazę.

Czy to live klient HTTP?

Nie. Pola sekwencji. Karta nie woła API i nie czyta 429.

Czy jitter losuje 10,0000 s?

Nie. Jitter jest pasmem. Wynik zostaje cap albo przerwa.

Czy przecinek w 0,5 działa?

Tak. 0,5, 5 i cap 10 dają 10,0000 s.

Czy 8,0000 s to Retry-After?

Nie. To szkic z bazy i próby. Nie nagłówek.

Gdzie liczysz okno rate limit?

Na kalkulatorze limitów API (rate limit). Tu zostaje 8,0000 s.

Czy pusta próba liczy?

Nie. Próba musi być liczbą, zero jest legalne i zostawia bazę.