Rendimiento bajo demanda de DynamoDB superado

TL;DR — Sí, las tablas bajo demanda también pueden throttlearse. Las tres causas: configuraste un rendimiento máximo (MaxReadRequestUnits/MaxWriteRequestUnits) y lo superaste; llevaste más del doble de tu pico de tráfico anterior en 30 minutos; o alcanzaste una cuota a nivel de tabla (por defecto 40 000 unidades de solicitud de lectura y 40 000 de escritura por tabla). Sube o elimina el máximo, incrementa el tráfico gradualmente y mantén los reintentos con retroceso exponencial.

Qué significa

ThrottlingException: Rate of requests exceeds the allowed throughput.

El modo bajo demanda escala para acomodar el tráfico, pero no al instante y no sin techos. Las nuevas tablas bajo demanda sostienen hasta 4000 escrituras y 12 000 lecturas por segundo de inmediato, y bajo demanda acomoda al instante hasta el doble de tu pico de tráfico anterior. Superar un máximo configurado, adelantarse a ese doblado en 30 minutos, o cruzar una cuota se manifiestan todos como throttling — ThrottlingException es HTTP 400 y reintentable, y el error lleva campos ThrottlingReason (p. ej. IndexWriteMaxOnDemandThroughputExceeded) que nombran el recurso y el límite que se alcanzó.

Por qué ocurre

  • Un rendimiento máximo configurado — configuraste MaxReadRequestUnits/MaxWriteRequestUnits y la demanda lo cruzó; DynamoDB devuelve un ThrottlingException (es un techo de control de costes que tú elegiste, aplicado con el mejor esfuerzo).
  • Más rápido que 2x el pico anterior — bajo demanda acomoda al instante hasta el doble de tu pico anterior, pero el throttling puede ocurrir si superas el doble de ese pico en 30 minutos.
  • Rampa de arranque en frío — una tabla completamente nueva (o una carga masiva justo después de la creación) supera la línea base inicial de 4000 escrituras y 12 000 lecturas por segundo.
  • Cuota a nivel de tabla — el techo por defecto por tabla de 40 000 unidades de solicitud de lectura y 40 000 de escritura; las infracciones de cuota a nivel de cuenta se manifiestan como RequestLimitExceeded en su lugar.
  • Una partición caliente — tráfico concentrado en una clave de partición, que tiene su propio límite por partición independientemente del modo de la tabla.

Cómo solucionarlo

  1. Sube el máximo configurado — aumenta MaxReadRequestUnits/MaxWriteRequestUnits mediante UpdateTable, o establece el valor en -1 para eliminar tu techo personalizado (las cuotas de servicio siguen aplicándose).
  2. Precalienta antes de un pico conocido — usa la configuración de rendimiento en caliente de DynamoDB, o distribuye el crecimiento del tráfico a lo largo de al menos 30 minutos para que el doblado del modo bajo demanda se mantenga por delante de la demanda en lugar de perseguir un cambio abrupto.
  3. Mantén los reintentos con retroceso exponencial — el SDK reintenta los throttles por defecto; usa el modo de reintento adaptativo para cargas con ráfagas.
  4. Throttlea las importaciones masivas o usa la función de importación desde S3 en lugar de martillear una tabla recién creada.
  5. Reparte el espacio de claves para que ninguna clave de partición se caliente — una partición caliente se throttlea aunque la tabla tenga margen.
  6. Solicita un aumento de cuota si legítimamente necesitas más de 40 000 unidades de solicitud de lectura/escritura en una tabla.

¿Persiguiendo qué clave está absorbiendo las solicitudes? Explora y filtra la tabla en la app de escritorio DynoTable para encontrar la clave de partición caliente antes de que tope tu rendimiento.

FAQ

¿Puede throttlearse una tabla bajo demanda de DynamoDB? Sí. Las tablas bajo demanda se throttlean cuando superas un rendimiento máximo configurado, llevas más del doble de tu pico de tráfico anterior antes de que DynamoDB termine de escalar, cruzas la cuota por defecto por tabla de 40 000 unidades de solicitud de lectura y 40 000 de escritura, o concentras el tráfico en una clave de partición caliente.

¿Cómo subo el límite de rendimiento bajo demanda? Aumenta MaxReadRequestUnits/MaxWriteRequestUnits mediante UpdateTable, o establece el valor en -1 para eliminar tu techo personalizado — las cuotas de cuenta siguen aplicándose. Si necesitas más de las 40 000 unidades de solicitud por tabla por defecto, solicita un aumento de cuota.

Errores relacionados

Referencias

Verificado por última vez el 2026-07-13 contra la documentación oficial de AWS enlazada arriba.

Trabaja con DynamoDB sin la Consola

Un cliente de escritorio rápido para DynamoDB que ejecuta el SQL real que DynamoDB no puede — JOINs, GROUP BY, agregaciones — con edición visual y un agente de IA con tus propias claves de Bedrock.

Prueba gratuita de 30 días, sin tarjeta — después, el plan Free sin límite de tiempo.