Calculadora de limites 429 & concorrência de workers para LLM

Calcule o RPM, o Input TPM (ITPM) e o Output TPM (OTPM) necessários em 60 modelos ativos de 2026, identifique gargalos de cota antes do lançamento e copie configurações de backoff com jitter completo.

Execução local no navegador — 0 bytes enviados
Bancada de dimensionamento de cotas e concorrência em produção
SEGURO (84% pico do bucket: ITPM)
RPM necessário
240
Input TPM necessário
840.000
Output TPM necessário
144.000
Concorrência máx. segura de workers
16
Profundidade recomendada de fila
48

Utilização de cota e diagnóstico de gargalos

Requisições por minuto (RPM) 240 / 2.000 (12%)
Tokens de entrada por minuto (ITPM) 840.000 / 1.000.000 (84%)
Tokens de saída por minuto (OTPM) 144.000 / 200.000 (72%)
Configuração de backoff exponencial com jitter completo
// Full-jitter exponential backoff + Retry-After guard (google/gemini-4-hydrogen)
export async function callWithRateLimitGuard<T>(
  fn: () => Promise<Response>,
  maxRetries = 5,
  baseDelayMs = 500,
  maxDelayMs = 30_000
): Promise<T> {
  for (let attempt = 0; attempt <= maxRetries; attempt++) {
    const res = await fn();
    if (res.status !== 429 && res.status < 500) {
      return (await res.json()) as T;
    }
    if (attempt === maxRetries) {
      throw new Error(`LLM quota exhausted (HTTP ${res.status}) after ${maxRetries} retries`);
    }
    const retryAfterSec = Number(res.headers.get('retry-after'));
    const ceiling = Math.min(maxDelayMs, baseDelayMs * 2 ** attempt);
    const sleepMs = Number.isFinite(retryAfterSec) && retryAfterSec > 0
      ? retryAfterSec * 1000
      : Math.floor(Math.random() * ceiling);
    await new Promise((r) => setTimeout(r, sleepMs));
  }
  throw new Error('Unreachable');
}

Como surgem os gargalos de limite 429 em LLM

Gateways corporativos de API de LLM aplicam três tetos simultâneos de token bucket: RPM (requisições por minuto), ITPM (tokens de entrada por minuto, incluindo blocos de RAG) e OTPM (tokens de saída por minuto). Ultrapassar qualquer um deles retorna HTTP 429 mesmo que os outros dois estejam abaixo de 20% de uso. Combine o dimensionamento de cotas com o Gasto de API em 30 dias e verifique os prazos de EOL de modelos no LLMEOL.

Salvaguardas de fila & retry em produção

Perguntas frequentes

Por que recebo erros HTTP 429 quando meu volume de requisições está muito abaixo do limite de RPM?

Prompts longos de RAG e históricos extensos de agentes esgotam os buckets de Input TPM (ITPM) ou Output TPM (OTPM) muito antes de atingir o teto de requisições por minuto (RPM).

O cache de prompt aumenta meu limite de Input TPM?

O cache de prompt reduz o faturamento de tokens de entrada em 90% a 95%, e vários provedores descontam leituras em cache da cota de ITPM—simule a economia exata na Calculadora de custos de LLM.

Por que usar backoff exponencial com jitter completo em vez de intervalos fixos de retry?

Intervalos fixos fazem workers bloqueados no mesmo segundo repetirem juntos em ondas sincronizadas; o jitter aleatório completo distribui as tentativas de forma uniforme nos SDKs em TypeScript e Python.