Métricas de latencia

En esta página, se describen las métricas de latencia que ofrece Cloud Spanner. Si tu aplicación experimenta una latencia alta, usa estas métricas para ayudarte a diagnosticar y resolver el problema.

Puedes ver estas métricas en Google Cloud Console y en la consola de Cloud Monitoring.

Descripción general de las métricas de latencia

Las métricas de latencia de Cloud Spanner miden el tiempo que tardó el servicio de Cloud Spanner en procesar una solicitud. La métrica abarca la cantidad de tiempo real que transcurrió, no la cantidad de tiempo de CPU que usó Cloud Spanner.

Estas métricas de latencia no incluyen la latencia que ocurre fuera de Cloud Spanner, como la latencia de red y la latencia dentro de la capa de la aplicación. A fin de medir otros tipos de latencia, puedes usar Cloud Monitoring para instrumentar tu aplicación con métricas personalizadas.

Puedes ver los gráficos de las métricas de latencia en Cloud Console y en la consola de Cloud Monitoring. Puedes ver métricas de latencia combinadas que incluyen las operaciones de lectura y escritura, o puedes ver métricas individuales para las operaciones de lectura y las de escritura.

En función de la latencia de cada solicitud, Cloud Spanner agrupa las solicitudes en percentiles. Puedes ver las métricas de latencia para el percentil 50 y la latencia del percentil 99:

  • Latencia del percentil 50: La latencia máxima, en segundos, para el 50% más rápido de todas las solicitudes. Por ejemplo, si la latencia del percentil 50 es de 0.5 segundos, Cloud Spanner procesó el 50% de las solicitudes en menos de 0.5 segundos.

    A veces, esta métrica se denomina latencia mediana.

  • Latencia del percentil 99: La latencia máxima, en segundos, para el 99% más rápido de las solicitudes. Por ejemplo, si la latencia del percentil 99 es de 2 segundos, Cloud Spanner procesó el 99% de las solicitudes en menos de 2 segundos.

Latencia y operaciones por segundo

Cuando una instancia procesa una pequeña cantidad de solicitudes durante un tiempo, las latencias de los percentiles 50 y 99 durante ese momento no son indicadores significativos del rendimiento general de la instancia. En estas condiciones, una cantidad muy pequeña de valores atípicos puede cambiar de forma drástica las métricas de latencia.

Por ejemplo, supongamos que una instancia procesa 100 solicitudes durante una hora. En este caso, la latencia del percentil 99 para la instancia durante esa hora es la cantidad de tiempo que tomó procesar la solicitud más lenta. Una medición de latencia basada en una solicitud única no es significativa.

Cómo diagnosticar problemas de latencia

En las siguientes secciones, se describe cómo diagnosticar varios problemas comunes que podrían provocar que la aplicación experimente una latencia alta de extremo a extremo.

Para dar una mirada rápida a las métricas de latencia de una instancia, usa Cloud Console. Para examinar las métricas más de cerca y encontrar correlaciones entre la latencia y otras métricas, usa la consola de Cloud Monitoring.

Latencia alta total, latencia baja de Cloud Spanner

Si tu aplicación experimenta una latencia mayor que la esperada, pero las métricas de latencia de Cloud Spanner son bastante inferiores a la latencia total de extremo a extremo, es posible que haya un problema en tu código de la aplicación. Si tu aplicación tiene un problema de rendimiento que hace que algunas rutas de código sean lentas, la latencia total de extremo a extremo de cada solicitud puede aumentar.

A fin de comprobar este problema, compara tu aplicación para identificar rutas de código más lentas de lo esperado.

También puedes comentar el código que se comunica con Cloud Spanner y, luego, volver a medir la latencia total. Si la latencia total no cambia mucho, es poco probable que Cloud Spanner sea la causa de la latencia alta.

Latencia alta total, latencia alta de Cloud Spanner

Si tu aplicación experimenta una latencia que es más alta de lo esperado y las métricas de latencia de Cloud Spanner también son altas, existen algunas posibles causas, como las siguientes:

  • Tu instancia necesita más nodos. Si tu instancia no tiene recursos de CPU suficientes y el uso de CPU supera el máximo recomendado, es posible que Cloud Spanner no pueda procesar tus solicitudes con rapidez y de forma eficiente.

  • Algunas de tus consultas causan un uso de CPU elevado. Si tus consultas no aprovechan las funciones de Cloud Spanner que mejoran la eficacia, como los parámetros de consulta y los índices secundarios, o si incluyen una gran cantidad de uniones o algunas otras operaciones que consumen mucha CPU, las consultas pueden usar una gran parte de los recursos de CPU para tu instancia.

Para comprobar estos problemas, usa la consola de Cloud Monitoring a fin de buscar una correlación entre el uso elevado de CPU y la latencia alta. Además, verifica las estadísticas de consulta de tu instancia para identificar las consultas que requieren mucha CPU durante el mismo período.

Si descubres que la latencia y el uso de CPU son altos al mismo tiempo, toma las medidas necesarias para solucionar el problema:

Próximos pasos