Monitorización de consultas paralelas para Aurora MySQL
Si su clúster de Aurora MySQL utiliza una consulta en paralelo, es posible que vea un aumento en los valores VolumeReadIOPS
. Las consultas en paralelo no utilizan el grupo de búfer. Por lo tanto, si bien las consultas son rápidas, este procesamiento optimizado puede dar como resultado un aumento de las operaciones de lectura y los cargos asociados.
Además de las métricas de Amazon CloudWatch descritas en Consulta de métricas en la consola de Amazon RDS, Aurora proporciona otras variables de estado globales. Puede utilizar estas variables de estado global para ayudar a monitorear la ejecución de consultas paralelas. Pueden darle información sobre por qué es posible que el optimizador utilice o no la consulta paralela en una situación determinada. Para acceder a estas variables, puede usar el comando SHOW GLOBAL STATUS
. También puede encontrar estas variables enumeradas a continuación.
Una sesión de consultas en paralelo no es necesariamente un mapeo uno a uno con las consultas realizadas por la base de datos. Por ejemplo, suponga que su plan de consulta tiene dos pasos que usan la consulta paralela. En tal caso, la consulta implica dos sesiones paralelas y los contadores de intentos de solicitud y de solicitudes correctas se incrementan en dos.
Cuando experimente con las consultas en paralelo emitiendo instrucciones EXPLAIN
, espere ver aumentos en los contadores designados como no elegidos incluso aunque las consultas no se estén ejecutando reamente. Cuando trabaje con consultas en paralelo en producción, puede comprobar si los contadores de no elegido están aumentando más rápido de lo que espera. En este punto, puede ajustar para que la consulta paralela se ejecute para las consultas que espera. Para ello, puede cambiar la configuración del clúster, la mezcla de consultas, las instancias de base de datos donde la consulta paralela está activada, etc.
Se realiza un seguimiento de estos contadores en el nivel de instancia de base de datos. Cuando se conecte a un punto de enlace distinto, podría ver métricas diferentes porque cada instancia de base de datos ejecuta su propio conjunto de consultas en paralelo. También podría ver métricas diferentes cuando el punto de enlace del lector se conecte a una instancia de base de datos distinta para cada sesión.
Nombre | Descripción |
---|---|
|
El número de bytes de estructuras de datos de tuplas transmitido al nodo director durante las consultas en paralelo. Debe dividirse entre 16 384 para compararse con |
|
El número máximo de sesiones de consultas en paralelo que se pueden ejecutar simultáneamente en esta instancia de base de datos Aurora. Este es un número fijo que depende de la clase de instancia de base de datos de AWS. |
|
El número de páginas de datos (cada una con un tamaño fijo de 16 KiB) en las que las consultas en paralelo evitaron una transmisión de red al nodo director. |
|
El número de sesiones de consultas en paralelo solicitadas. Este valor podría representar más de una sesión por consulta, dependiendo de los constructos de SQL como subconsultas y uniones. |
|
El número de sesiones de consultas en paralelo ejecutadas correctamente. |
|
El número de sesiones de consultas en paralelo que devolvieron un error al cliente. En algunos casos, una solicitud de una consulta en paralelo podría producir un error, por ejemplo, debido a un problema en la capa de almacenamiento. En tales casos, la parte de la consulta que haya producido un error vuelve a intentarse usando el mecanismo de consultas no paralelas. Si la consulta reintentada también produce un error, se devolverá un error al cliente y este contador se incrementará. |
|
El número de sesiones de consultas en paralelo en curso actualmente. Este número se aplica a la instancia de base de datos de Aurora concreta a la que se conecta, no a todo el clúster de base de datos de Aurora. Para ver si una instancia de base de datos está cerca de su límite de simultaneidad, compare este valor con el de |
|
El número de veces que las consultas en paralelo no se han elegido para satisfacer una consulta. Este valor es la suma de varios otros contadores más detallados. Una instrucción |
|
El número de veces que las consultas en paralelo no se han elegido debido al número de filas de la tabla. Una instrucción |
|
El número de solicitudes de consulta paralela que utilizan la ruta de procesamiento de consultas no paralelas debido a un tipo de datos no admitido en la lista de columnas proyectadas. |
|
El número de solicitudes de consulta paralela que utilizan la ruta de procesamiento de consultas no paralelas porque la tabla tiene columnas con el tipo de datos |
|
El número de solicitudes de consulta paralela que utilizan la ruta de procesamiento de consultas no paralelas porque la tabla tiene columnas con un tipo de datos |
|
El número de solicitudes de consulta paralela que utilizan la ruta de procesamiento de consultas no paralelas porque la tabla contiene una columna virtual. |
|
El número de solicitudes de consulta paralela que utilizan la ruta de procesamiento de consultas no paralelas porque la tabla tiene columnas con un conjunto de caracteres personalizado. |
|
El número de solicitudes de consulta paralela que utilizan la ruta de procesamiento de consultas no paralelas porque actualmente se altera la tabla por una instrucción |
|
El número de veces que las consultas en paralelo no se han elegido, incluso aunque menos del 95 % de los datos de tabla ya estuviera en el grupo de búfer, porque no había suficientes datos de tabla fuera de búfer para que valiera la pena realizar una consulta en paralelo. |
|
El número de solicitudes de consulta paralela que utilizan la ruta de procesamiento de consultas no paralelas porque la tabla tiene índices de texto completo. |
|
El número de veces que las consultas en paralelo no se han elegido debido a que un porcentaje elevado de datos de tabla (actualmente, superior al 95 %) ya estaba en el grupo de búfer. En estos casos, el optimizador determina que leer los datos del grupo de búfer es más eficiente. Una instrucción |
|
El número de solicitudes de consulta paralela que utilizan la ruta de procesamiento de consultas no paralelas porque la consulta incluye una sugerencia de índice. |
|
El número de solicitudes de consulta en paralelo que utilizan la ruta de procesamiento de consultas no paralelas porque la tabla utiliza un formato de fila de InnoDB no admitido. La consulta en paralelo de Aurora solo se aplica a los formatos de fila |
|
El número de solicitudes de consultas en paralelo que usaron la ruta de procesamiento de consultas no en paralelo, debido a que la consulta se estaba iniciando en una transacción de ejecución prolongada. Una instrucción |
|
El número de solicitudes de consulta paralela que utilizan la ruta de procesamiento de consultas no paralelas porque la consulta no incluye ninguna cláusula |
|
El número de solicitudes de consulta paralela que utilizan la ruta de procesamiento de consultas no paralelas porque la consulta utiliza un análisis de intervalo en un índice. |
|
El número de solicitudes de consulta paralela que utilizan la ruta de procesamiento de consultas no paralelas porque la longitud total combinada de todas las columnas es demasiado larga. |
|
El número de veces que las consultas en paralelo no se han elegido debido al tamaño general de la tabla, según lo determinado por el número de filas y la longitud promedio de las filas. Una instrucción |
|
El número de solicitudes de consulta paralela que utilizan la ruta de procesamiento de consultas no paralelas porque la consulta hace referencia a tablas temporales que utilizan los tipos de tabla |
|
El número de solicitudes de consulta paralela que utilizan la ruta de procesamiento de consultas no paralelas porque la consulta utiliza un nivel de aislamiento de transacciones no admitido. En las instancias de base de datos del lector, la consulta paralela solo se aplica a los niveles de aislamiento |
|
El número de solicitudes de consulta paralela que utilizan la ruta de procesamiento de consultas no paralelas porque la consulta forma parte de una instrucción |
|
El número de solicitudes de consultas en paralelo que usan la ruta de procesamiento de consultas no en paralelo porque la cláusula |
|
El número de solicitudes de consultas en paralelo que usan la ruta de procesamiento de consultas no en paralelo porque el clúster de base de datos de Aurora MySQL no utiliza una configuración de almacenamiento de clúster de Aurora compatible. Este parámetro está disponible en la versión 3.04 y versiones posteriores de Aurora MySQL. Para obtener más información, consulte Limitaciones. |
|
El número de veces que las consultas en paralelo no se han elegido debido a que el número máximo de consultas en paralelo simultáneas que ya se están ejecutando en una instancia de base de datos Aurora concreta. |