Solución de errores de administración de capacidad en Amazon Keyspaces - Amazon Keyspaces (para Apache Cassandra)

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:

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

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.

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. VPC

    Para obtener la misma disponibilidad y rendimiento que un controlador con conexiones a varias direcciones IP, le recomendamos que haga lo siguiente:

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. Para step-by-step obtener instrucciones, consulteTutorial: Carga de datos en Amazon Keyspaces mediante DSBulk.

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.