OneWebDesk

API Rate Limit 계산기

분당·시간당 요청 제한과 동시성 기준으로 안전 호출량과 소진 시간을 계산합니다.

API가 “분당 100요청” 같은 레이트 리밋(rate limit)을 걸어 두면, 내 요청을 어느 속도로 보내야 429(Too Many Requests)를 피할 수 있을까요? 이 계산기는 한도(요청 수)와 윈도우(초)를 입력하면 초당 허용 속도, 요청 사이의 최소 안전 간격(ms), 그리고 N개를 안전하게 다 보내는 데 걸리는 시간을 한 번에 계산해 줍니다.

배치 작업·크롤러·웹훅 재시도·대량 발송 스크립트를 설계할 때 “쉬는 시간(throttle)”을 얼마로 둘지 정확히 정할 수 있습니다. 동시 워커(concurrency)를 늘릴 때 워커당 간격이 어떻게 바뀌는지도 보여 줍니다. 응답 지연을 백분위로 분석하려면 응답시간 백분위 계산기를, 실제 요청을 만들어 테스트하려면 cURL 명령 생성기를 함께 사용하세요.

속도/간격
허용 속도1.6667 req/s
최소 안전 간격600 ms
워커당 간격600 ms (1 워커)
N개 전송 계획

N이 한 윈도우 한도를 초과합니다. 여러 윈도우로 나눠 보내야 429를 피할 수 있습니다.

N개 전송 시간300 s (05:00)
필요한 윈도우 수5
한 윈도우 내 한도 충족아니오

핵심 공식

레이트 리밋은 “윈도우(초)당 한도(요청 수)”로 정의됩니다. 여기서 모든 값이 파생됩니다.

  • 허용 속도 = 한도 ÷ 윈도우 (req/s)
  • 최소 안전 간격 = 윈도우 ÷ 한도 (초) = 1000 × 윈도우 ÷ 한도 (ms)
  • 워커당 간격 = 동시 워커 수 × (윈도우 ÷ 한도) — 워커가 많을수록 각자는 더 천천히 보내야 전체 속도가 유지됩니다.
  • N개 전송 시간 = N ÷ (한도 ÷ 윈도우) = N × 윈도우 ÷ 한도 (초)

예시: 분당 100요청

한도 100, 윈도우 60초라면 허용 속도는 약 1.67 req/s, 최소 간격은 600ms입니다. 요청마다 600ms 이상 띄우면 안전합니다.

  • 500개를 보내려면 500 × 60 ÷ 100 = 300초(=05:00)가 걸립니다.
  • 한 윈도우(60초)에 한도 100을 넘기면 429가 발생합니다. 500개라면 최소 ceil(500/100)=5개 윈도우가 필요합니다.
  • 동시 워커 4개면 워커당 간격은 4 × 600ms = 2400ms로 두어야 합계 속도가 한도를 넘지 않습니다.

버스트와 토큰 버킷

많은 API는 평균 속도 외에 “버스트(burst)” 여유를 둡니다. 이 도구는 보수적으로 균등(steady) 속도를 가정하므로, 버스트를 허용하는 토큰 버킷 방식 API에서는 더 공격적으로 보낼 수 있습니다. 그래도 안전 간격을 지키면 429를 거의 확실히 피할 수 있습니다.

자주 묻는 질문

한도나 윈도우를 0으로 두면 어떻게 되나요?
한도와 윈도우가 모두 0보다 커야 계산이 가능합니다(0으로 나누기 방지). 둘 중 하나라도 0 이하이면 계산 결과 대신 안내가 표시됩니다.
최소 안전 간격을 꼭 지켜야 하나요?
토큰 버킷처럼 버스트를 허용하는 API라면 잠깐은 더 빨리 보낼 수 있습니다. 다만 안전 간격을 지키면 어떤 방식의 리밋이든 429를 피할 수 있어 가장 안전합니다.
동시 워커가 늘면 왜 워커당 간격이 길어지나요?
전체 합계 속도는 한도로 고정되어 있기 때문입니다. 워커 C개가 동시에 보내면 각 워커는 단일 간격의 C배만큼 띄워야 합계가 한도와 같아집니다.
N이 한도를 넘으면 무엇을 봐야 하나요?
한 윈도우 안에 다 보낼 수 없다는 뜻입니다. 필요한 윈도우 수 ceil(N/한도)와 전체 전송 시간을 참고해 작업을 여러 윈도우에 나눠 배치하세요.
입력한 값이 서버로 전송되나요?
아니요. 모든 계산은 브라우저 안에서만 수행되며, 입력한 한도·윈도우·요청 수·워커 수는 어디로도 전송되거나 저장되지 않습니다.

관련 도구

HTTP / API