Cómo encontrar hotspots en tu base de datos

En esta página, se describe cómo usar el panel de Hotspot insights para detectar puntos calientes en tu base de datos de Spanner.

Descripción general de las estadísticas de hotspot

Los hotspots provocan latencia en tu base de datos de Spanner. El panel de estadísticas de hotspots te ayuda a detectar las divisiones afectadas por los hotspots. Sigue estos pasos para determinar si los puntos de acceso están causando latencia y, si es así, cómo resolver el problema:

  1. Abre el panel.
  2. Determina si los puntos de acceso requieren tu intervención.
  3. Identifica las divisiones problemáticas de los datos.

Las estadísticas de Hotspot están disponibles en configuraciones regionales, birregionales y multirregionales.

Precios

No hay costos adicionales por las Estadísticas de Hotspot.

Retención de datos

La retención máxima de datos para el gráfico y la tabla de estadísticas de Hotspot es de 6 horas.

En el caso de la tabla de divisiones más populares, los datos se toman de la tabla SPANNER_SYS.SPLIT_STATS_TOP_MINUTE, que tiene un período máximo de retención de 6 horas. Para obtener más información, consulta Retención de datos.

Roles obligatorios

Es posible que necesites diferentes roles y permisos de IAM, según si eres un usuario de IAM o un usuario de control de acceso específico.

Usuario de Identity and Access Management (IAM)

Para obtener los permisos que necesitas para ver la página Estadísticas de zonas de riesgo, pídele a tu administrador que te otorgue los siguientes roles de IAM en la instancia:

Se requieren los siguientes permisos en el rol de lector de bases de datos de Cloud Spanner (roles/spanner.databaseReader) para ver la página Estadísticas de puntos de acceso:

  • spanner.databases.beginReadOnlyTransaction
  • spanner.databases.select
  • spanner.sessions.create

Usuario con control de acceso detallado

Si eres usuario del control de acceso detallado, asegúrate de hacer lo siguiente:

  • Tener el rol de Visualizador de Cloud Spanner (roles/spanner.viewer)
  • Tener privilegios de control de acceso detallado y tener asignado el rol del sistema spanner_sys_reader o uno de sus roles miembros
  • Selecciona spanner_sys_reader o un rol de miembro como tu rol actual del sistema en la página Overview de la base de datos.

Para obtener más información, consulta la descripción general del control de acceso detallado y las funciones del sistema de control de acceso detallado.

Abre el panel de Estadísticas de hotspot

En el panel de Estadísticas de puntos críticos, se muestra el porcentaje máximo de uso de CPU de división. Esta métrica es un porcentaje abstracto de 0 a 100 que refleja la cantidad de CPU que se usa cuando se accede a las filas dentro de una división.

Para ver el panel de Estadísticas de hotspots de una base de datos, haz lo siguiente:

  1. En Google Cloud console, abre la página Spanner.

    Ir a Spanner

  2. Elige una instancia de la lista.

  3. En el menú de navegación, haz clic en la pestaña Estadísticas de zonas populares.

  4. En el campo base de datos, selecciona una base de datos de la lista. En el panel, se muestra la puntuación máxima de uso de CPU de división para la base de datos.

Las áreas del panel incluyen:

  • Gráfico de puntuación de uso de CPU de división máxima: Una puntuación de uso de CPU más alta (como cerca de 100) indica que la división es activa y es muy probable que cause un hotspot en el servidor en comparación con las puntuaciones más bajas.
  • Campo de base de datos: Filtra la información de las divisiones activas en una base de datos específica o en todas las bases de datos.
  • Filtro de intervalo de tiempo: Filtra el uso de CPU de los picos de divisiones en incrementos de 1 minuto hasta un total de 6 horas.
  • Tabla de divisiones de TopN: Muestra la lista de las principales divisiones ordenadas por las puntuaciones de uso de CPU de división.

Panel de estadísticas de hotspot

Determina si las ubicaciones con grandes cantidades de casos confirmados requieren intervención

Si ves un aumento repentino o una elevación en el gráfico que corresponde a la latencia general y una puntuación alta persistente de uso de CPU de división máxima, es posible que debas investigar más.

Revisa el gráfico para explorar estas preguntas:

  • ¿Qué base de datos experimenta la degradación de la latencia? Selecciona bases de datos diferentes en la lista Bases de datos para encontrar las bases de datos con la latencia más alta. Para saber qué base de datos tiene la carga más alta, también puedes revisar el gráfico de Latencia de las bases de datos en la consola de Google Cloud .

    Latencia

  • ¿La latencia es alta? ¿La latencia es alta en comparación con la latencia esperada para la carga de trabajo? ¿El gráfico aumenta o se incrementa con el tiempo? Si no ves una latencia alta, los puntos de acceso no son un problema.

  • ¿La puntuación máxima de uso de CPU de división es del 100%? ¿El gráfico aumenta o se incrementa con el tiempo? Si no ves porcentajes de uso de CPU máximos y persistentes del 100% durante al menos 10 minutos, es posible que los puntos calientes no sean un problema. Si el porcentaje de uso máximo de la CPU de la división es alto durante más de 10 minutos, es posible que desees investigar más para ver si la base de datos tiene niveles de latencia más altos de lo esperado.

Si ves porcentajes de uso de CPU de división máxima del 100% durante más de 10 minutos, es posible que los hotspots requieran tu intervención. A continuación, puedes continuar el proceso de depuración identificando las divisiones activas en tu base de datos.

Identifica las divisiones problemáticas de datos

Para identificar una división potencialmente problemática que tiene puntos calientes, consulta la sección TopN splits en la consola de Google Cloud , como se muestra a continuación.

Divisiones de Top N

En la tabla TopN splits, se proporciona un resumen de las divisiones que podrían ser populares durante el período elegido, ordenadas de más reciente a más antigua. La cantidad de divisiones de TopN se limita a 100.

En el caso de los gráficos, Spanner recupera datos de la tabla de estadísticas de TopN splits, con un nivel de detalle de un minuto. El valor de cada dato en los gráficos representa el valor promedio durante un intervalo de un minuto.

En la tabla, se muestran las siguientes propiedades:

  • Fin del intervalo: Es la fecha y hora en que finaliza el uso máximo de la CPU.
  • Inicio de la división: Es la clave inicial del rango de filas en la división. Si el inicio de la división es <begin>, indica el inicio del rango de claves de la base de datos.
  • Límite de división: Es la clave de límite del rango de filas en la división. Si la clave de límite es <end>, indica el final del rango de claves de la base de datos.
  • Puntuación de uso de CPU dividida: Es una puntuación abstracta entre 0 y 100 que refleja la cantidad de CPU que se usa en los accesos a las filas dentro de la división en un solo servidor. Usa la puntuación de uso de la CPU para evaluar si tienes hotspots.
  • Tablas afectadas: Son las tablas cuyas filas podrían estar en la división.

¿Qué sigue?