Las tablas de estadísticas integradas de Spanner te ayudan a investigar problemas en tu base de datos. Puedes consultar estas tablas para obtener información sobre las consultas, las transacciones y las lecturas. En la siguiente lista, se resume cada tabla de estadísticas y la información que ofrece:
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 instrucciones de DML y las consultas de flujo de cambios), recopiladas en intervalos de 1, 10 y 60 minutos. Las estadísticas se recopilan 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 los paneles de Estadísticas de consultas. 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, cuándo 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 las lecturas más comunes y que consumen más recursos de 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 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 verificar si hay transacciones de ejecución lenta que podrían estar causando una contención o identificar cambios en las formas de transacción que están generando 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 con el panel Información sobre 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 usan 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 Información sobre bloqueos. 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, 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 la API se incluyen cuando se compilan los resultados de 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 | Sí | No | No |
Transacción de lectura o escritura | No | No | Sí | Sí | Sí | |
ExecuteSql, ExecuteStreamingSql | Transacción de solo lectura1 | Sí2 | Sí2 | No | No | No |
Transacción de lectura o escritura | Yes | Sí | No | Sí | Sí | |
executeBatchDml | Transacciones de lectura y escritura | Sí3 | Sí4 | No | Sí | Sí |
Confirmar | Transacciones de lectura y escritura (DML5, mutaciones6) | No | No | No | Sí | Sí |
Notas:
1 Las transacciones de solo lectura no se incluyen en las estadísticas de transacciones ni en las estadísticas de bloqueos. 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 Un lote de instrucciones DML aparece en las estadísticas de consultas como una sola entrada.
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 Las mutaciones vacías que no están activas 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 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ños de 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 í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 tablas para lo siguiente:
- Supervisa el uso de tus tablas y índices en la base de datos.
- Encuentra tendencias en el uso de tus tablas y tus índices.
- Identifica los cambios en el tráfico.
Además, puedes correlacionar los cambios en el almacenamiento de tu tabla con los cambios en el 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 alto porcentaje 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.