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 de 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:
- Abre el panel.
- Determina si los hotspots necesitan tu intervención.
- Identifica las divisiones activas problemáticas.
Las estadísticas de Hotspot están disponibles en configuraciones regionales, multirregionales 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)
Para obtener los permisos que necesitas para ver la página Estadísticas de hotspots, pídele a tu administrador que te otorgue los siguientes roles de IAM en la instancia:
-
Visualizador de Cloud Spanner (
roles/spanner.viewer
) -
Lector de base de datos de Cloud Spanner (
roles/spanner.databaseReader
)
Para ver la página Estadísticas de Hotspot, se requieren los siguientes permisos en el rol de Lector de bases de datos de Cloud Spanner (
roles/spanner.databaseReader
):
spanner.databases.beginReadOnlyTransaction
spanner.databases.select
spanner.sessions.create
Usuario del 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
spanner_sys_reader
o un rol de miembro como tu rol de sistema actual 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.
Abre el panel de estadísticas de Hotspot
El panel Estadísticas de Hotspot 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 Estadísticas de hotspots de una base de datos, haz lo siguiente:
En la consola de Google Cloud , abre la página Spanner.
Elige una instancia de la lista.
En el menú de navegación, haz clic en la pestaña Estadísticas de hotspots.
En el campo database, selecciona una base de datos de la lista. El panel muestra la puntuación máxima de uso de CPU dividida de la base de datos.
Las áreas del panel incluyen:
- Gráfico Puntuación máxima de uso de CPU de división: 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 máximo de la CPU en incrementos de 1 minuto hasta un total de 6 horas.
- Tabla de divisiones TopN: Muestra la lista de las divisiones principales ordenadas por puntuaciones de uso de CPU de división.
Determina si los hotspots necesitan 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 y persistente de uso de CPU de 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 latencia? Selecciona bases de datos diferentes de 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 .
¿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 hotspots no son un problema.
¿La puntuación máxima de uso de CPU dividida es del 100%? ¿El gráfico aumenta o se incrementa 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 del 100% durante más de 10 minutos, es posible que los hotspots necesiten 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 activas 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.
La tabla TopN splits proporciona una descripción general de las divisiones que podrían ser populares durante el período seleccionado, ordenadas de la más reciente a la más antigua. La cantidad de divisiones TopN se limita a 100.
En el caso de los gráficos, Spanner recupera datos de la tabla de estadísticas de divisiones TopN, 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:
- Final del intervalo: Es la fecha y hora en la 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 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: Son las tablas cuyas filas podrían estar en la división.
¿Qué sigue?
- Obtén información sobre las estadísticas de hotspots divididos.