Saltar al contenido

¿Por qué se limita mi tabla de DynamoDB bajo demanda?

4 minutos de lectura
0

Mi tabla de Amazon DynamoDB bajo demanda se limita y no sé por qué.

Solución

Las tablas de DynamoDB que utilizan el modo de capacidad bajo demanda se adaptan automáticamente al volumen de tráfico de la aplicación. Sin embargo, los siguientes escenarios pueden provocar que las tablas de DynamoDB bajo demanda se limiten.

El tráfico es más del doble del pico anterior

Las tablas bajo demanda de DynamoDB pueden verse limitadas cuando el tráfico supera el doble del rendimiento máximo anterior en un período de 30 minutos.

Para resolver este problema, escala gradualmente el tráfico durante al menos 30 minutos antes de llegar al doble del pico anterior. Para supervisar el rendimiento de la tabla, utiliza las métricas ConsumedReadCapacityUnits y ConsumedWriteCapacityUnits en Amazon CloudWatch. Para supervisar la limitación bajo demanda, utiliza ReadMaxOnDemandThroughputThrottleEvents y WriteMaxOnDemandThroughputThrottleEvents.

En el caso de las tablas bajo demanda nuevas, puedes gestionar inmediatamente hasta 4000 unidades de solicitud de escritura o 12 000 unidades de solicitud de lectura, o una combinación lineal de ambas. Para eventos planificados o con picos de actividad, usa un rendimiento semiactivo para adaptar la capacidad de la tabla al uso previsto.

Si cambias de una tabla existente al modo de capacidad bajo demanda, el pico anterior es uno de los siguientes valores:

  • Las tablas nuevas comienzan con 4000 unidades de capacidad de escritura (WCU) y 12 000 unidades de capacidad de lectura (RCU).
  • Si has aprovisionado la tabla por encima del valor inicial, conservará la capacidad más alta.
  • La capacidad inicial puede ser mayor en los patrones de uso sostenido.

El tráfico supera el rendimiento máximo de cada partición

Cada partición de la tabla puede atender hasta 1000 unidades de solicitud de escritura o 3000 unidades de solicitud de lectura, o una combinación lineal de ambas. Si el tráfico que llega a una partición supera esta cuota, es posible que se limite la partición.

Para resolver este problema, sigue estos pasos:

  1. Utiliza Información de colaboradores de CloudWatch para DynamoDB con el fin de identificar las claves de la tabla que se limitan y a las que se accede con más frecuencia.
  2. Utiliza métricas mejoradas para comprobar que los eventos de limitación de particiones son la causa.
  3. Utiliza la partición de escritura para distribuir las solicitudes de manera uniforme entre las particiones.
  4. Optimiza tus reintentos de error y estrategia de retroceso exponencial.

El tráfico supera la cuota de la cuenta de AWS para cada tabla

De forma predeterminada, las tablas bajo demanda tienen cuotas a nivel de cuenta de 40 000 WCU y 40 000 RCU para cada tabla. Si el tráfico que llega a una tabla supera las cuotas de rendimiento, es posible que se limite la tabla.

Para resolver este problema, sigue estos pasos:

  1. En CloudWatch, compara ConsumedReadCapacityUnits and ConsumedWriteCapacityUnits con tus cuotas actuales.
  2. Solicita un aumento de cuota a nivel de cuenta para las unidades de capacidad de lectura y escritura a nivel de tabla.

El GSI de tu mesa experimenta una aceleración

Si la tabla de DynamoDB tiene un índice secundario global (GSI) limitado, la limitación podría dar lugar a otras limitaciones por la presión de retorno en la tabla base. Para más información, consulta Comprensión de la limitación de escritura del índice secundario global (GSI) y la contrapresión en DynamoDB y Uso de índices secundarios globales en DynamoDB.

El tráfico supera el rendimiento máximo configurado

Si configuraste las cuotas de límite máximo para tu tabla bajo demanda, recibirás el error «ThrottlingException» cuando superes las cuotas de límite establecidas.

Según tu caso de uso, realiza una de las siguientes acciones:

Para supervisar el límite máximo que configuraste para una tabla o un GSI, usa las métricas OnDemandMaxReadRequestUnits and OnDemandMaxWriteRequestUnits en CloudWatch.

Información relacionada

Guía de resolución de limitación de DynamoDB

¿Cómo elijo la clave principal correcta para mi tabla de Amazon DynamoDB?

¿Por qué las métricas de la consola de DynamoDB son diferentes de las métricas de CloudWatch?

Cuotas en DynamoDB

Introducing configurable maximum throughput for Amazon DynamoDB on-demand (Presentación del límite máximo configurable para DynamoDB bajo demanda)

OFICIAL DE AWSActualizada hace 2 meses