Cómo encontrar hotspots en tu base de datos

En esta página, se describe cómo usar el panel de estadísticas de Hotspot para detectar hotspots en tu base de datos de Spanner.

Descripción general de las estadísticas del hotspot

Los hotspots generan 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 hotspots están causando latencia y, de ser así, cómo resolver el problema:

  1. Abre el panel.
  2. Determina si los hotspots necesitan tu intervención.
  3. Identifica divisiones activas problemáticas.

Las estadísticas de hotspots están disponibles en una, varias regiones y birregionales.

Precios

No hay costo adicional 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 una retención máxima 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 detallado.

Usuario de Identity and Access Management (IAM)

A fin de obtener los permisos que necesitas para ver la página Estadísticas de hotspot, haz lo siguiente: solicita a tu administrador que te otorgue el los siguientes roles de IAM en la instancia:

Se requieren los siguientes permisos de la función Lector de base de datos de Cloud Spanner (roles/spanner.databaseReader) para ver la página Estadísticas de hotspot:

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

Usuario con control de acceso detallado

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

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

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

Cómo abrir el panel de estadísticas de Hotspot

El panel Estadísticas de hotspots muestra el porcentaje máximo de uso de CPU dividida. 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 hotspot de una base de datos, haz lo siguiente: lo siguiente:

  1. En la consola de Google Cloud, 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 Estadísticas de hotspot. .

  4. En el campo database, selecciona una base de datos de la lista. El panel muestra la puntuación de uso máximo de CPU dividida para la base de datos.

Las áreas del panel incluyen:

  • Gráfico de la puntuación máxima de uso de CPU dividida: una puntuación de uso de CPU más alta (p. ej., 100) indica que la división está activa y es muy probable que genere un hotspot en la servidor en comparación con 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 todas las bases de datos.
  • Filtro de intervalo de tiempo: Filtra el uso máximo de la CPU de las divisiones por incrementos de 1 minuto hasta un total de 6 horas.
  • Tabla de divisiones de TopN: muestra la lista de divisiones principales ordenadas por CPU dividida y puntuaciones de uso.

Panel de estadísticas de hotspot

Determina si los hotspots necesitan intervención

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

Revisa el gráfico para explorar estas preguntas:

  • ¿Qué base de datos experimenta la degradación de la latencia? Seleccionar otro de la lista Databases para encontrar las que tienen la mayor latencia. 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, entonces los hotspots no son un problema.

  • ¿La puntuación máxima de uso de CPU dividida es del 100%? ¿El gráfico tiene un aumento repentino o aumentar con el tiempo? Si no ves porcentajes de uso de CPU divididos del 100% durante al menos 10 minutos, es posible que los hotspots no sean un problema. Si el porcentaje de uso de CPU de la división máxima es alto durante más de 10 minutos, te recomendamos que investigues 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 divididos al 100% durante más de 10 minutos, es posible que los hotspots necesiten tu intervención. Luego, puedes continuar con la depuración mediante la identificación de las divisiones activas en tu base de datos.

Identifica divisiones problemáticas

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

Divisiones de Top N

La tabla TopN splits proporciona una descripción general de las divisiones que podrían más caliente durante el período seleccionado, del más reciente al más antiguo. La cantidad de divisiones TopN se limita a 100.

Para los gráficos, Spanner recupera datos de las divisiones de TopN. tabla de estadísticas con un nivel de detalle de un minuto. El valor de cada dato de los gráficos representa el valor promedio durante un intervalo de un minuto.

En la tabla, se muestran las siguientes propiedades:

  • Interval end: Es la fecha y hora en las que finaliza el máximo uso de CPU.
  • Inicio de la división: Es la clave inicial del rango de filas en la división. Si el botón el inicio dividido 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 de 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 puntos de acceso.
  • Tablas afectadas: Las tablas cuyas filas podrían estar en la división.

¿Qué sigue?