Identifica las transacciones que podrían causar latencias altas

Usa los paneles de estadísticas del sistema y las tablas de estadísticas integradas para identificar las transacciones que causan latencias altas en Spanner Omni. Para garantizar la coherencia de varias transacciones simultáneas, Spanner Omni usa bloqueos para controlar el acceso a los datos. La contención de bloqueo se produce cuando muchas transacciones requieren acceso frecuente al mismo bloqueo, lo que genera latencias altas.

Las operaciones de Spanner Omni adquieren bloqueos cuando forman parte de una transacción de lectura y escritura. Las transacciones de solo lectura no adquieren bloqueos.

Para identificar las transacciones que causan latencias altas, sigue estos pasos:

  1. Verifica si hay un aumento repentino en las latencias con las estadísticas del sistema.

  2. Identifica problemas de contención de bloqueo con la métrica de tiempo de espera de bloqueo.

  3. Identifica las transacciones problemáticas.

Antes de comenzar

Si aún no lo hiciste, descarga e instala la consola de Spanner Omni. Para obtener más información, consulta Descargas de Spanner Omni y Cómo iniciar la consola de Spanner Omni.

Verifica si hay un aumento repentino en las latencias con las estadísticas del sistema

Spanner Omni no usa Cloud Monitoring. En su lugar, usa el panel de estadísticas del sistema en la consola de Spanner Omni o Grafana. Para verificar si hay picos de latencia en la consola de Spanner Omni, haz lo siguiente:

  1. En la consola de Spanner Omni, haz clic en Estadísticas del sistema en el panel de navegación.

  2. En el panel de Estadísticas del sistema, verifica los gráficos de latencia para lo siguiente:

    • Latencia de solicitud (P50, P90, P99)

    • Latencia de transacciones (P50, P90, P99)

    Verifica el percentil 99 (P99) de las operaciones de escritura en los gráficos de latencia. Si observas un aumento repentino en la latencia sin un aumento correspondiente en el uso de la CPU o en los errores, es probable que la latencia se deba a problemas de contención de bloqueo.

Verifica si hay problemas de contención de bloqueo

Para verificar si las latencias altas se deben a la contención de bloqueos, usa la métrica de tiempo de espera de bloqueo disponible en el panel de System Insights.

Verifica si hay un tiempo de espera de bloqueo alto

Verifica si hay un tiempo de espera de bloqueo alto en el panel de estadísticas del sistema de la consola de Spanner Omni:

  1. Ubica el gráfico Tiempo de espera de bloqueo, que muestra el tiempo de espera de bloqueo total para los conflictos de bloqueo de la base de datos seleccionada en un intervalo de 5 minutos.

  2. Verifica si esta métrica muestra un aumento que se correlaciona con el aumento repentino de la latencia que observaste.

Analiza los datos de espera de bloqueo con tablas del sistema

Después de confirmar que la contención de bloqueos es la causa de las latencias altas, usa las tablas de estadísticas del sistema para analizar los datos de espera de bloqueos y, luego, identifica las transacciones que causan la contención. Puedes usar la CLI de Spanner Omni para consultar tablas de estadísticas en la documentación de Spanner.

Para obtener detalles sobre las tablas de estadísticas de bloqueo, consulta Estadísticas de bloqueo en la documentación de Spanner.

Identifica las transacciones en contienda

Para identificar las transacciones específicas que contribuyen a las latencias altas, examina las estadísticas de transacciones de tu base de datos. Enfócate en las transacciones con una latencia promedio alta. Optimiza la forma de la transacción para reducir las latencias. Considera aplicar las prácticas recomendadas para reducir la contención de bloqueos en la documentación de Spanner.

Para obtener detalles sobre las tablas de estadísticas de transacciones, consulta Estadísticas de transacciones en la documentación de Spanner.

¿Qué sigue?