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 información sobre las consultas, las transacciones, las lecturas y mucho más. ¿No estás seguro de qué herramienta usar para un problema en particular? La siguiente lista 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, ejecutarlas con frecuencia o analizar muchos datos.

Las estadísticas de consulta 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. Se recopilan estadísticas de las declaraciones que se completaron correctamente y las que fallaron, que agotaron el tiempo de espera o que el usuario canceló.

Las estadísticas incluyen el mayor uso de CPU, los recuentos totales de ejecución de consultas, la latencia promedio, la mayoría de los datos analizados y estadísticas básicas adicionales de las consultas. 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 compilados previamente te ayudan a ver los aumentos repentinos en el uso de CPU y a identificar consultas ineficientes.

Consultas activas más antiguas

A veces, es posible que quieras observar la carga de trabajo actual en el sistema cuando examinas la ejecución de consultas. 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 mediante la API de Reads de Spanner. Estas estadísticas se recopilan y almacenan en 3 intervalos de tiempo diferentes: un 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 si hay transacciones de ejecución lenta que podrían estar causando la contención o identificar cambios en las formas de las transacciones que causan regresiones de rendimiento. Cada fila contiene estadísticas de todas las transacciones ejecutadas en la base de datos durante intervalos de 1, 10 y 60 minutos.

Puedes visualizar estas métricas en una serie temporal a través del panel Estadísticas de transacciones. El panel precompilado 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 los 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 mediante el panel Bloquear estadísticas. El panel precompilado te ayuda a ver el tiempo de espera de bloqueo y confirmar si las latencias se deben a contenciones de bloqueo con un tiempo de espera de bloqueo alto.

Métodos de API incluidos en cada herramienta

En Spanner hay cierta superposición entre las transacciones, las lecturas y las consultas. Por lo tanto, es posible que no esté claro qué métodos de API se incluyen cuando se compilan los resultados para cada herramienta de introspección. En la siguiente tabla, se indican los métodos principales 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
Lectura, StreamingRead Transacción de solo lectura1 No. No. Yes No. No.
Transacción de lectura o escritura No. No.
EjecutarSql, EjecutarStreamingSql 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 transacción ni de bloqueo. Solo las transacciones de lectura y escritura se incluyen en las estadísticas de transacción 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 consultas como una sola entrada.

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

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

6 Las mutaciones vacías que son efectivamente no-ops no se incluyen en las estadísticas de transacción.

Estadísticas de tamaños de tablas

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

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

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

Estadísticas de operaciones de tablas

Puedes usar las estadísticas de operaciones de la tabla para hacer lo siguiente:

  • Supervisa el uso de los índices y las tablas en tu base de datos.
  • Busca 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.