Monitorización de consultas paralelas para Aurora MySQL - Amazon Aurora

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

Aurora_pq_bytes_returned

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

Aurora_pq_max_concurrent_requests

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.

Aurora_pq_pages_pushed_down

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.

Aurora_pq_request_attempted

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.

Aurora_pq_request_executed

El número de sesiones de consultas en paralelo ejecutadas correctamente.

Aurora_pq_request_failed

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

Aurora_pq_request_in_progress

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

Aurora_pq_request_not_chosen

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 EXPLAIN puede incrementar este contador aunque la consulta no se realiza en realidad.

Aurora_pq_request_not_chosen_below_min_rows

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 EXPLAIN puede incrementar este contador aunque la consulta no se realiza en realidad.

Aurora_pq_request_not_chosen_column_bit

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.

Aurora_pq_request_not_chosen_column_geometry

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 GEOMETRY. Para obtener información acerca de las versiones de Aurora MySQL que eliminan esta limitación, consulte Actualización de clústeres de consultas en paralelo para la versión 3 de Aurora MySQL.

Aurora_pq_request_not_chosen_column_lob

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 LOB o columnas VARCHAR que se almacenan externamente debido a la longitud declarada. Para obtener información acerca de las versiones de Aurora MySQL que eliminan esta limitación, consulte Actualización de clústeres de consultas en paralelo para la versión 3 de Aurora MySQL.

Aurora_pq_request_not_chosen_column_virtual

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.

Aurora_pq_request_not_chosen_custom_charset

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.

Aurora_pq_request_not_chosen_fast_ddl

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 ALTER DDL rápida.

Aurora_pq_request_not_chosen_few_pages_outside_buffer_pool

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.

Aurora_pq_request_not_chosen_full_text_index

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.

Aurora_pq_request_not_chosen_high_buffer_pool_pct

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 EXPLAIN puede incrementar este contador aunque la consulta no se realiza en realidad.

Aurora_pq_request_not_chosen_index_hint

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.

Aurora_pq_request_not_chosen_innodb_table_format

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 COMPACT, REDUNDANT y DYNAMIC.

Aurora_pq_request_not_chosen_long_trx

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 EXPLAIN puede incrementar este contador aunque la consulta no se realiza en realidad.

Aurora_pq_request_not_chosen_no_where_clause

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

Aurora_pq_request_not_chosen_range_scan

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.

Aurora_pq_request_not_chosen_row_length_too_long

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.

Aurora_pq_request_not_chosen_small_table

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 EXPLAIN puede incrementar este contador aunque la consulta no se realiza en realidad.

Aurora_pq_request_not_chosen_temporary_table

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 MyISAM o memory no admitidos.

Aurora_pq_request_not_chosen_tx_isolation

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 REPEATABLE READ y READ COMMITTED.

Aurora_pq_request_not_chosen_update_delete_stmts

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 UPDATE o DELETE.

Aurora_pq_request_not_chosen_unsupported_access

El número de solicitudes de consultas en paralelo que usan la ruta de procesamiento de consultas no en paralelo porque la cláusula WHERE no cumple los criterios de consultas en paralelo. Este resultado puede producirse si la consulta no requiere un análisis de uso intensivo de datos o si la consulta es una instrucción DELETE o UPDATE.

Aurora_pq_request_not_chosen_unsupported_storage_type

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.

Aurora_pq_request_throttled

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.