Calculadora de límites 429 y concurrencia para LLM

Calcula los RPM, Input TPM (ITPM) y Output TPM (OTPM) necesarios en 60 modelos activos de 2026, anticipa cuellos de botella de cuota y copia configuraciones de backoff con jitter completo.

Se ejecuta localmente en el navegador — 0 bytes subidos
Entorno de dimensionamiento de cuotas y concurrencia en producción
SEGURO (84% cubeta pico: ITPM)
RPM requeridos
240
Input TPM requeridos
840.000
Output TPM requeridos
144.000
Concurrencia máxima segura de workers
16
Profundidad recomendada de cola
48

Uso de cuota y diagnóstico de cuellos de botella

Solicitudes por minuto (RPM) 240 / 2000 (12%)
Tokens de entrada por minuto (ITPM) 840.000 / 1.000.000 (84%)
Tokens de salida por minuto (OTPM) 144.000 / 200.000 (72%)
Configuración de backoff exponencial con 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');
}

Por qué ocurren los cuellos de botella 429 en LLM

Las pasarelas empresariales de API para LLM aplican tres techos simultáneos de cubeta de tokens: RPM (solicitudes por minuto), ITPM (tokens de entrada por minuto, incluidos fragmentos RAG) y OTPM (tokens de salida por minuto). Superar cualquiera de las tres cubetas devuelve HTTP 429 aunque las otras dos estén por debajo del 20%. Combina el cálculo de cuota con el Gasto de API a 30 días y revisa las fechas de retiro en LLMEOL.

Salvaguardas de colas y reintentos en producción

Preguntas frecuentes

¿Por qué recibo errores HTTP 429 si mi volumen de llamadas está muy por debajo del límite RPM?

Los prompts extensos de RAG y los historiales multiturno agotan las cubetas de Input TPM (ITPM) u Output TPM (OTPM) mucho antes de alcanzar el techo de solicitudes por minuto (RPM).

¿La caché de prompts amplía mi límite efectivo de Input TPM?

La caché de prompts reduce la facturación de entrada entre un 90% y un 95%, y varios proveedores excluyen los prefijos en caché del cupo ITPM; simula el ahorro exacto en la Calculadora de costos LLM.

¿Por qué usar backoff exponencial con jitter completo en lugar de pausas fijas?

Los intervalos fijos provocan que los workers limitados en el mismo segundo reintenten en oleadas sincronizadas; el jitter aleatorio distribuye los reintentos de forma uniforme en clientes TypeScript y Python.