Descripción general de las herramientas de introspección

Las herramientas de introspección para Spanner te permiten investigar problemas con la base de datos. Consisten en un conjunto de tablas integradas que puedes consultar para obtener más estadísticas sobre consultas, transacciones, lecturas y mucho más. ¿No estás seguro de qué herramienta utilizar para un problema en particular? En la siguiente lista, se resume cada herramienta y los tipos de preguntas que pueden ayudar a responder.

Estadísticas de consulta

Cuando investigas problemas en tu base de datos, es útil saber qué consultas son costosas, se ejecutan con frecuencia o analizan muchos datos.

Las estadísticas de consultas son estadísticas agregadas de las consultas (incluidas las declaraciones DML y las consultas de flujo de cambios), recopiladas en intervalos de 1, 10 y 60 minutos. Las estadísticas se recopilan para las instrucciones que se completaron correctamente, así como las que fallaron, que se agotó el tiempo de espera o que el usuario las canceló.

Las estadísticas incluyen el mayor uso de CPU, el recuento total de ejecuciones de consultas, la latencia promedio, la mayoría de los datos analizados y las estadísticas de consultas básicas adicionales. Usa estas estadísticas para identificar consultas costosas, que se ejecutan con frecuencia o que consumen muchos datos.

Puedes visualizar estas métricas en una serie temporal mediante los paneles de Estadísticas de consultas. Estos paneles precompilados te ayudan a ver los aumentos repentinos en el uso de CPU y a identificar consultas ineficientes.

Consultas activas más antiguas

A veces, deseas ver la carga de trabajo actual en el sistema mediante el análisis de las consultas en ejecución. Usa la herramienta Consultas activas más antiguas para investigar las consultas de larga duración que podrían tener un impacto en el rendimiento de la base de datos. Esta herramienta te indica cuáles son las consultas, cuándo comenzaron a ejecutarse y a qué sesión pertenecen.

Las consultas de flujos de cambios no se incluyen en las consultas activas más antiguas.

Lee estadísticas

Las estadísticas de lectura se pueden usar para investigar las lecturas más comunes y que consumen más recursos en tu base de datos con la API de Reads de Spanner. Estas estadísticas se recopilan y almacenan en 3 intervalos de tiempo diferentes: minuto, 10 minutos y una hora. Para cada intervalo de tiempo, Spanner realiza un seguimiento de las lecturas que usan más recursos.

Usa las estadísticas de lectura para conocer el uso combinado de los recursos por parte de todas las lecturas, encontrar las lecturas que usan una gran cantidad de CPU y averiguar cómo cambia la frecuencia específica de una lectura con el tiempo.

Estadísticas de transacciones

Las estadísticas de transacciones se pueden usar para investigar problemas relacionados con las transacciones. Por ejemplo, puedes verificar las transacciones de ejecución lenta que podrían estar causando contención o identificar cambios en las formas de transacción que estén provocando regresiones de rendimiento. Cada fila contiene estadísticas de todas las transacciones ejecutadas en la base de datos en intervalos de 1, 10 y 60 minutos.

Puedes visualizar estas métricas en una serie temporal con el panel Estadísticas de transacciones. El panel creado previamente te ayuda a ver las latencias de las transacciones y a identificar las transacciones problemáticas.

Estadísticas de bloqueo

Las estadísticas de bloqueo se pueden usar para investigar conflictos de bloqueo en tu base de datos. Si se usan con las estadísticas de transacciones, puedes buscar transacciones que causan conflictos de bloqueo cuando intentas adquirir bloqueos en las mismas celdas al mismo tiempo.

Puedes visualizar estas métricas en una serie temporal con el panel Bloquear estadísticas. El panel compilado previamente te ayuda a ver el tiempo de espera de bloqueo y confirmar si las latencias se deben a conflictos de bloqueo con un tiempo de espera de bloqueo alto.

Métodos de API incluidos en cada herramienta

En Spanner, existe cierta superposición entre las transacciones, las lecturas y las consultas. Por lo tanto, es posible que no esté claro qué métodos de la API se incluyen cuando se compilan resultados para cada herramienta de introspección. En la siguiente tabla, se enumeran los principales métodos de la API y su relación con cada herramienta.

Métodos de la API Modos de transacción Estadísticas de consulta Consultas activas más antiguas Lee estadísticas Estadísticas de transacciones Estadísticas de bloqueo
Read, StreamingRead Transacción de solo lectura1 No No Yes No No
Transacción de lectura o escritura No No
ExecuteSql y ExecuteStreamingSql Transacción de solo lectura1 2 2 No No No
Transacción de lectura o escritura Yes No
ExecuteBatchDml Transacciones de lectura y escritura 3 4 No
Confirmar Transacciones de lectura y escritura (DML5, mutaciones6) No No No

Notas:

1 Las transacciones de solo lectura no se incluyen en las estadísticas de transacciones ni de bloqueo. Solo las transacciones de lectura y escritura se incluyen en las estadísticas de transacciones y de bloqueo.

2 Las consultas que se ejecutan con la API de PartitionQuery no se incluyen en las estadísticas de consultas ni en las consultas activas más antiguas.

3 Un lote de declaraciones DML aparece en las estadísticas de consulta como una sola entrada.

4 Las declaraciones dentro del lote aparecerán en las consultas activas más antiguas, en lugar de aparecer en todo el lote.

5 Las operaciones DML no confirmadas no se incluyen en las estadísticas de transacciones.

6 Las mutaciones vacías que, en la práctica, son no operativas no se incluyen en las estadísticas de transacciones.

Estadísticas de los tamaños de las tablas

Puedes usar las Estadísticas de tamaños de tabla para supervisar los tamaños históricos de los índices y las tablas de tu base de datos.

Usa las estadísticas de los tamaños de las tablas para encontrar tendencias en los tamaños de tus tablas, índices y tablas de flujos de cambios. También puedes hacer un seguimiento de tus tablas e índices más grandes.

Ten en cuenta que esta función solo proporciona una perspectiva histórica. No se usa para la supervisión en tiempo real.

Estadísticas de operaciones de la tabla

Puedes usar Estadísticas de operaciones de tablas para hacer lo siguiente:

  • Supervisa el uso de las tablas y los índices en tu base de datos.
  • Encuentra tendencias en el uso de tus índices y tablas.
  • Identificar cambios en el tráfico

Además, puedes correlacionar los cambios en el almacenamiento de la tabla con los cambios en el tráfico de escritura.