Descripción general de las herramientas de introspección

Las herramientas de introspección para Spanner te permiten investigar problemas tu 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 sé bien qué herramienta usar 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 costosos, 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 el flujo de cambios) consultas), se recopilan en intervalos de 1, 10 y 60 minutos. Se recopilan estadísticas para las sentencias que se completaron correctamente, así como para las que fallaron, se agotó el tiempo de espera o que el usuario canceló.

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

Puedes visualizar estas métricas en una serie temporal con las Estadísticas de consultas. paneles. Estos paneles prediseñados te ayudan a ver los aumentos repentinos en el uso de la CPU y a identificar las consultas ineficientes.

Consultas activas más antiguas

A veces, querrás observar la carga de trabajo actual del sistema examinando las consultas en ejecución. Usa la herramienta Consultas activas más antiguas para investigar las consultas de larga duración que pueden tener un impacto en el rendimiento de la base de datos. Esta herramienta te indica cuáles son las consultas cuando comenzaron a ejecutarse y a qué sesión pertenecen.

Las consultas de flujo 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 los problemas más comunes y que consumen más recursos en tu base de datos con la API de Reads. Estas estadísticas se recopilan y almacenan en 3 intervalos de tiempo: minutos, 10 minutos y una hora. Para cada intervalo de tiempo, Spanner realiza un seguimiento de las operaciones de lectura que usan la mayor cantidad de 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 comprobar si hay aplicaciones transacciones que podrían estar causando contención o identificar cambios en la transacción formas que generan regresiones de rendimiento. Cada fila contiene estadísticas de todas las transacciones ejecutadas en la base de datos durante los días 1, 10 y 60 minutos.

Puedes visualizar estas métricas en una serie temporal con el panel Estadísticas de transacciones. El panel prediseñado te ayuda a ver las latencias en 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 la base de datos. Si se usa con las estadísticas de transacciones, puedes encontrar transacciones que están causando conflictos de bloqueo cuando intentan 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 prediseñado 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, las transacciones se superponen. lecturas y consultas. Por lo tanto, es posible que no esté claro Se incluyen métodos de API cuando se compilan resultados para cada herramienta de introspección. El La siguiente tabla incluye los principales métodos de 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 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 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. o las estadísticas de bloqueo. Solo las transacciones de lectura y escritura se incluyen en las estadísticas de transacciones y las estadísticas de bloqueos.

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 Aparecerá un lote de declaraciones DML en las estadísticas de consultas como un entrada única.

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

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

6 No se incluyen las mutaciones vacías que son efectivamente no-ops estadísticas de transacciones.

Estadísticas de los tamaños de las 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 del tamaño de las tablas para encontrar tendencias en los tamaños de tus tablas, índices, y las tablas de flujos de cambios. También puedes hacer 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 Estadísticas de operaciones de tablas para hacer lo siguiente: 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.
  • Identifica los cambios en el tráfico.

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

Depuración de hotspots en divisiones

Puedes depurar hotspots en tu base de datos para encontrar divisiones en la base de datos que sean activas o muy activas, lo que significa que un porcentaje alto de la carga en una división está limitado por los recursos disponibles. Puedes ver las estadísticas de las divisiones que tuvieron las puntuaciones más altas de uso de CPU divididas en las últimas 6 horas, por intervalos de 1 minuto.