Solución de problemas de limitaciones del modo bajo demanda
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, es posible que las tablas que utilizan el modo bajo demanda sigan limitándose. En este tema, se describe cómo solucionar los problemas de limitaciones más comunes de las tablas bajo demanda.
El tráfico es más del doble que en el pico anterior
Si supera el doble del pico de tráfico anterior en un intervalo de 30 minutos, es posible que experimente una limitación. Antes de superar el pico de tráfico anterior, le recomendamos que distribuya el crecimiento del tráfico en al menos 30 minutos. Para monitorizar el tráfico a la tabla, utilice la métrica ConsumedReadCapacityUnits
en Amazon CloudWatch. Para obtener más información, consulte Dimensiones y métricas de DynamoDB.
En las nuevas tablas bajo demanda, puede impulsar inmediatamente hasta 4000 unidades de solicitud de escritura o 12 000 unidades de solicitud de lectura, o una combinación lineal de ambas.
En una tabla existente que haya cambiado al modo de capacidad bajo demanda, el pico anterior es uno de los siguientes valores:
-
La mitad del rendimiento aprovisionado anterior de la tabla
-
La configuración de una tabla recién creada con el modo de capacidad bajo demanda
Para obtener más información, consulte Initial throughput for on-demand capacity mode.
El tráfico supera el máximo por partición
Cada partición de una tabla puede atender hasta 3000 unidades de solicitud de lectura o 1000 unidades de solicitud de escritura, o una combinación lineal de ambas. Si el tráfico de una partición supera este límite, es posible que la partición tenga una limitación. Para resolver este problema, siga estos pasos:
-
Utilice Información de colaboradores de Amazon CloudWatch para identificar las claves de acceso más frecuentes y sometidas a más limitaciones controladas de la tabla.
-
Distribuya aleatoriamente las solicitudes en la tabla para que las solicitudes a las claves de las particiones activas se distribuyan a lo largo del tiempo. Para obtener más información, consulte Uso de la partición de escritura para distribuir las cargas de trabajo uniformemente en la tabla de DynamoDB.
Una clave activa puede estar causando problemas de limitación.
En DynamoDB, una clave de partición que no tenga una cardinalidad alta puede dar lugar a muchas solicitudes cuyo objetivo sean solo unas pocas particiones. Si una partición activa resultante supera los límites de partición de 3000 RCU o 1000 WCU por segundo, puede producirse una limitación.
La herramienta de diagnóstico Información de colaboradores de Amazon CloudWatch (CCI), puede ayudar a depurar esto proporcionando gráficos de CCI para los patrones de acceso a elementos de cada tabla. Puede supervisar continuamente las claves a las que se accede con más frecuencia de sus tablas DynamoDB y otras tendencias de tráfico. Para obtener más información sobre Información de colaboradores de CloudWatch, consulte Información de colaboradores de CloudWatch para DynamoDB. Para obtener más información, consulte Diseño de claves de partición para distribuir la carga de trabajo en DynamoDB y Choosing the Right DynamoDB Partition Key
El tráfico supera la cuota de cuenta por tabla
Para las tablas bajo demanda, las cuotas de rendimiento de lectura de tabla y de rendimiento de escritura de tabla se aplican en la cuenta. De forma predeterminada, el rendimiento de la tabla tiene un máximo de 40 000 unidades de solicitudes de lectura y un máximo de 40 000 unidades de solicitudes de escritura. Si el tráfico de una tabla supera las cuotas de rendimiento de la cuenta por tabla, es posible que la tabla sufra una limitación. Para resolver este problema, utilice la consola de Service Quotas para aumentar las cuotas de rendimiento de lectura o escritura de tabla de su cuenta.
El índice secundario global de la tabla está limitado
Si la tabla de DynamoDB tiene un índice global secundario que se está limitando, es posible que la limitación genere restricciones de contrapresión en la tabla base. Para obtener más información, consulte How does throttling on my global secondary index affect my Amazon DynamoDB table