Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Solución de errores de administración de capacidad en Amazon Keyspaces
¿Tiene problemas con la capacidad sin servidor? A continuación se indican algunos problemas comunes y la forma de resolverlos.
Errores de capacidad sin servidor
En esta sección se describe la forma de reconocer los errores relacionados con la administración de capacidad sin servidor y cómo resolverlos. Por ejemplo, podría observar eventos de capacidad insuficiente cuando su aplicación excede su capacidad de rendimiento aprovisionada.
Dado que Apache Cassandra es un software basado en clústeres que está diseñado para ejecutarse en una flota de nodos, no dispone de mensajes de excepción relacionados con características sin servidor como la capacidad de rendimiento. La mayoría de los controladores solo entienden los códigos de error que están disponibles en Apache Cassandra, por lo que Amazon Keyspaces utiliza ese mismo conjunto de códigos de error para mantener la compatibilidad.
Para asignar los errores de Cassandra a los eventos de capacidad subyacentes, puede utilizar Amazon CloudWatch para supervisar las métricas relevantes de Amazon Keyspaces. Los eventos de capacidad insuficiente que dan lugar a errores del lado del cliente se pueden clasificar en estos tres grupos en función del recurso que esté causando el evento:
-
Tabla: si elige el modo de capacidad Aprovisionada para una tabla y su aplicación supera el rendimiento aprovisionado, es posible que observe errores de capacidad insuficiente. Para obtener más información, consulte Configurar los modos de capacidad de lectura/escritura en Amazon Keyspaces.
-
Partición: es posible que se produzcan eventos de capacidad insuficiente si el tráfico en una partición determinada supera los 3000 o 1000. RCUs WCUs Como práctica recomendada, sugerimos distribuir el tráfico de forma uniforme entre las particiones. Para obtener más información, consulte Mejores prácticas de modelado de datos: recomendaciones para diseñar modelos de datos.
-
Conexión: es posible que experimente un rendimiento insuficiente si supera la cuota para el número máximo de operaciones por segundo, por conexión. Para aumentar el rendimiento, puede aumentar el número de conexiones predeterminadas al configurar la conexión con el controlador.
Para obtener información sobre cómo configurar las conexiones para Amazon Keyspaces, consulte. Configuración de conexiones en Amazon Keyspaces Para obtener más información sobre la optimización de las conexiones en los VPC puntos de enlace, consulte. Cómo configurar las conexiones a través de VPC puntos de enlace en Amazon Keyspaces
Para determinar qué recurso está causando el evento de capacidad insuficiente que devuelve el error del lado del cliente, puede consultar el panel de control en la consola de Amazon Keyspaces. De forma predeterminada, la consola proporciona una vista agregada de las CloudWatch métricas más comunes relacionadas con la capacidad y el tráfico en la sección Capacidad y métricas relacionadas de la pestaña Capacidad de la tabla.
Para crear tu propio panel de control con Amazon CloudWatch, consulta las siguientes métricas de Amazon Keyspaces.
-
PerConnectionRequestRateExceeded
: solicitudes a Amazon Keyspaces que superan la cuota de tasa de solicitudes por conexión. Cada conexión de cliente a Amazon Keyspaces puede admitir hasta 3000 CQL solicitudes por segundo. Puede realizar más de 3000 solicitudes por segundo creando varias conexiones. -
ReadThrottleEvents
: solicitudes a Amazon Keyspaces que superan la capacidad de lectura de una tabla. -
StoragePartitionThroughputCapacityExceeded
: solicitudes a una partición de almacenamiento de Amazon Keyspaces que superan la capacidad de rendimiento de la partición. Las particiones de almacenamiento de Amazon Keyspaces pueden admitir hasta 1000WCU/WRUpor segundo y 3000RCU/RRUpor segundo. Para mitigar estas excepciones, le recomendamos que revise su modelo de datos para distribuir el tráfico de lectura/escritura entre más particiones. -
WriteThrottleEvents
: solicitudes a Amazon Keyspaces que superan la capacidad de escritura de una tabla.
Para obtener más información CloudWatch, consulteSupervisión de Amazon Keyspaces con Amazon CloudWatch. Para obtener una lista de todas las CloudWatch métricas disponibles para Amazon Keyspaces, consulte. Métricas y dimensiones de Amazon Keyspaces
Temas
Estoy recibiendo errores de capacidad insuficiente NoHostAvailable
desde mi controlador de cliente
Está viendo excepciones Read_Timeout
o Write_Timeout
para una tabla.
Intentar escribir o leer repetidamente en una tabla de Amazon Keyspaces con capacidad insuficiente puede dar lugar a errores del lado del cliente específicos del controlador.
Úselo CloudWatch para monitorear las métricas de rendimiento aprovisionadas y reales, así como los eventos de capacidad insuficiente para la tabla. Por ejemplo, una solicitud de lectura que no tenga suficiente capacidad de rendimiento falla con una excepción Read_Timeout
y se contabiliza en la métrica ReadThrottleEvents
. Una solicitud de escritura que no tenga suficiente capacidad de rendimiento falla con una excepción Write_Timeout
y se contabiliza en la métrica WriteThrottleEvents
. Para obtener más información sobre estas métricas, consulte Métricas y dimensiones de Amazon Keyspaces.
Para resolver estos problemas, considere una de las siguientes opciones.
Aumente el rendimiento aprovisionado para la tabla, que es la cantidad máxima de capacidad de rendimiento que puede consumir una aplicación. Para obtener más información, consulte Unidades de capacidad de lectura y de escritura.
Deje que el servicio administre la capacidad de rendimiento en su nombre con escalado automático. Para obtener más información, consulte Administre la capacidad de rendimiento automáticamente con el escalado automático de Amazon Keyspaces.
Elija el modo de capacidad Bajo demanda para la tabla. Para obtener más información, consulte Configure el modo de capacidad bajo demanda.
Si necesita aumentar la cuota de capacidad predeterminada para su cuenta, consulte Cuotas para Amazon Keyspaces (para Apache Cassandra).
Está viendo errores relacionados con exceso de capacidad de la partición.
Cuando aparece el error, la capacidad de StoragePartitionThroughputCapacityExceeded
la partición se ha excedido temporalmente. Esto puede gestionarse automáticamente mediante la capacidad adaptativa o la capacidad bajo demanda. Le recomendamos revisar su modelo de datos para distribuir el tráfico de lectura/escritura en más particiones a fin de mitigar estos errores. Las particiones de almacenamiento de Amazon Keyspaces pueden admitir hasta 1000WCU/WRUpor segundo y 3000RCU/RRUpor segundo. Para obtener más información sobre cómo mejorar su modelo de datos para distribuir el tráfico de lectura/escritura entre más particiones, consulte Mejores prácticas de modelado de datos: recomendaciones para diseñar modelos de datos.
Las excepciones Write_Timeout
también podrían deberse a una tasa elevada de operaciones de escritura concurrentes que incluyan datos estáticos y no estáticos en la misma partición lógica. Si se espera que el tráfico ejecute varias operaciones de escritura concurrentes que incluyan datos estáticos y no estáticos dentro de la misma partición lógica, recomendamos escribir los datos estáticos y no estáticos por separado. Escribir los datos por separado también ayuda a optimizar los costos de rendimiento.
Está viendo errores relacionados con una tasa de solicitudes de conexión excedida.
Lo que está viendo PerConnectionRequestRateExceeded
se debe a una de las siguientes causas.
-
Es posible que no tenga suficientes conexiones configuradas por sesión.
-
Es posible que reciba menos conexiones que las de sus pares disponibles porque no tiene los permisos de VPC punto final configurados correctamente. Para obtener más información sobre las VPC políticas de puntos finales, consulteUso de puntos de conexión de VPC de interfaz para Amazon Keyspaces.
-
Si utiliza un controlador 4.x, compruebe si la validación del nombre de host está habilitada. El controlador habilita la verificación TLS del nombre de host de forma predeterminada. Esta configuración hace que Amazon Keyspaces aparezca como un clúster de nodo único ante el controlador. Le recomendamos que desactive la verificación de nombre de host.
Le recomendamos que siga estas prácticas recomendadas para garantizar la optimización de sus conexiones y su rendimiento:
-
Configure el ajuste del rendimiento de las CQL consultas.
Amazon Keyspaces admite hasta 3000 CQL consultas por TCP conexión por segundo, pero no hay límite en el número de conexiones que puede establecer un conductor.
La mayoría de los controladores de código abierto para Cassandra establecen un grupo de conexiones a Cassandra y equilibran la carga de consultas sobre ese grupo de conexiones. Amazon Keyspaces expone 9 direcciones IP homólogas a los conductores. El comportamiento predeterminado de la mayoría de los controladores es establecer una única conexión con cada dirección IP homóloga. Por lo tanto, el rendimiento máximo de CQL consultas de un conductor que utilice la configuración predeterminada será de 27 000 CQL consultas por segundo.
Para aumentar esta cifra, le recomendamos que aumente el número de conexiones por dirección IP que su controlador mantiene en su grupo de conexiones. Por ejemplo, si se establece el número máximo de conexiones por dirección IP en 2, se duplicará el rendimiento máximo del controlador hasta alcanzar las 54 000 CQL consultas por segundo.
-
Optimice sus conexiones de nodo único.
De forma predeterminada, la mayoría de los controladores de código abierto para Cassandra establecen una o más conexiones con cada dirección IP anunciada en la tabla
system.peers
al establecerse una sesión. Sin embargo, determinadas configuraciones pueden hacer que un controlador se conecte a una única dirección IP de Amazon Keyspaces. Esto puede suceder si el controlador intenta validar el SSL nombre de host de los nodos homólogos (por ejemplo, los controladores DataStax Java) o cuando se conecta a través de un punto final. VPCPara obtener la misma disponibilidad y rendimiento que un controlador con conexiones a varias direcciones IP, le recomendamos que haga lo siguiente:
-
Aumente el número de conexiones por IP a 9 o más en función del rendimiento deseado del cliente.
-
Cree una política de reintentos personalizada que garantice que los reintentos se ejecuten en el mismo nodo. Para obtener más información, consulte
Cómo configurar la política de reintentos para las conexiones en Amazon Keyspaces.
-
Si utiliza VPC puntos de enlace, conceda permisos de acceso a la IAM entidad que se utiliza para conectarse a Amazon Keyspaces para que consulte VPC su información sobre el punto final y la interfaz de red. Esto mejora el equilibrio de la carga y aumenta el rendimiento de lectura/escritura. Para obtener más información, consulte Relleno de entradas de la tabla system.peers con información del punto de conexión de VPC de interfaz.
-
Estoy recibiendo errores de tiempo de espera de escritura durante la importación de datos
Está recibiendo un error de tiempo de espera al cargar datos con el comando de cqlsh
COPY
.
Failed to import 1 rows: WriteTimeout - Error from server: code=1100 [Coordinator node timed out waiting for replica nodes' responses] message="Operation timed out - received only 0 responses." info={'received_responses': 0, 'required_responses': 2, 'write_type': 'SIMPLE', 'consistency': 'LOCAL_QUORUM'}, will retry later, attempt 1 of 100
Amazon Keyspaces utiliza las excepciones ReadTimeout
y WriteTimeout
para indicar cuándo falla una solicitud de escritura debido a una capacidad de rendimiento insuficiente. Para ayudar a diagnosticar las excepciones de capacidad insuficiente, Amazon Keyspaces publica las siguientes métricas en Amazon. CloudWatch
WriteThrottleEvents
ReadThrottledEvents
StoragePartitionThroughputCapacityExceeded
Para resolver los errores de capacidad insuficiente durante una carga de datos, reduzca la tasa de escritura por trabajador o la tasa de ingesta total y, a continuación, vuelva a intentar cargar las filas. Para obtener más información, consulte Paso 4: Configurar los ajustes de cqlsh COPY FROM. Si busca una opción de carga de datos más sólida, considere la posibilidad de utilizarlaDSBulk, que está disponible en el GitHub repositorio
No puedo ver el tamaño real de almacenamiento de un espacio de claves o una tabla
No puede ver el tamaño real de almacenamiento del espacio de claves o de la tabla.
Para obtener más información sobre el tamaño de almacenamiento de la mesa, consulteEvaluar los costos en el nivel de tabla. También puede estimar el tamaño de almacenamiento empezando a calcular el tamaño de las filas de una tabla. Puede encontrar instrucciones detalladas para calcular el tamaño de fila en Estime el tamaño de las filas en Amazon Keyspaces.