Identifica dónde se produce la latencia

En esta página, se muestra cómo identificar y solucionar problemas de latencia en tus componentes de Spanner.Para obtener más información sobre los posibles puntos de latencia en una solicitud de Spanner, consulta Puntos de latencia en una solicitud de Spanner.

Puedes medir y comparar las latencias de las solicitudes entre los diferentes componentes y la base de datos para determinar qué componente está causando la latencia. Estas latencias incluyen la latencia de extremo a extremo, la latencia de Google Front End (GFE), la latencia de la solicitud de la API de Spanner y la latencia de las consultas.

  1. En la aplicación cliente que usa tu servicio, confirma que hay un aumento en la latencia de extremo a extremo. Verifica las siguientes dimensiones de tus métricas del cliente. Para obtener más información, consulta Descripciones de las métricas del cliente.

    • client_name: Es el nombre y la versión de la biblioteca cliente.
    • location: Es la región de Google Cloud en la que se publican las métricas del cliente. Si tu aplicación se implementa fuera deGoogle Cloud, las métricas se publican en la región global.
    • method: Es el nombre del método RPC, por ejemplo, spanner.commit.
    • status: Es el estado de la RPC, por ejemplo, OK o INTERNAL.

    Agrupa los datos según estas dimensiones para ver si el problema se limita a un cliente, un estado o un método específicos. En el caso de las cargas de trabajo birregionales o multirregionales, comprueba si el problema se limita a un cliente o a una región de Spanner específicos.

  2. Verifica el estado de tu aplicación cliente, en especial la infraestructura de procesamiento del cliente (por ejemplo, la utilización de la VM, la CPU o la memoria, las conexiones, los descriptores de archivos, etcétera).

  3. Para verificar la latencia en los componentes de Spanner, consulta las métricas del cliente:

    a. Verifica la latencia de extremo a extremo con la métrica spanner.googleapis.com/client/operation_latencies.

    b. Verifica la latencia de Google Front End (GFE) con la métrica spanner.googleapis.com/client/gfe_latencies.

  4. Verifica las siguientes dimensiones para las métricas de Spanner:

    • database: Es el nombre de la base de datos de Spanner.
    • method: Es el nombre del método RPC, por ejemplo, spanner.commit.
    • status: Es el estado de la RPC, por ejemplo, OK o INTERNAL.

    Agrupa los datos por estas dimensiones para ver si el problema se limita a una base de datos, un estado o un método específicos. En el caso de las cargas de trabajo birregionales o multirregionales, verifica si el problema se limita a una región específica.

  5. Verifica la latencia de las solicitudes a la API de Spanner con la métrica spanner.googleapis.com/api/request_latencies. Para obtener más información, consulta Métricas de Spanner.

    Si tienes una latencia de extremo a extremo alta, pero una latencia de GFE baja y una latencia de solicitud de la API de Spanner baja, es posible que el código de la aplicación tenga un problema. También podría indicar un problema de red entre el cliente y la GFE regional. Si tu aplicación tiene un problema de rendimiento que hace que algunas rutas de código sean lentas, la latencia de extremo a extremo de cada solicitud a la API puede aumentar. También podría haber un problema en la infraestructura de procesamiento del cliente que no se detectó en el paso anterior.

    Si tienes una latencia alta de GFE, pero una latencia baja de la solicitud a la API de Spanner, podría deberse a uno de los siguientes motivos:

    • Acceder a una base de datos desde otra región Esta acción puede generar una latencia alta de GFE y una latencia baja de solicitudes a la API de Spanner. Por ejemplo, el tráfico de un cliente en la región us-east1 que tiene una instancia en la región us-central1 podría tener una latencia alta del GFE, pero una latencia más baja de la solicitud de la API de Spanner.

    • Hay un problema en la capa de GFE. Consulta el Google Cloud Panel de estado para ver si hay problemas de red en curso en tu región. Si no hay problemas, abre un caso de asistencia y proporciona esta información para que los ingenieros de asistencia puedan ayudarte a solucionar los problemas de la GFE.

  6. Verifica el uso de CPU de la instancia. Si el uso de CPU de la instancia supera el nivel recomendado, debes agregar más nodos de forma manual o configurar el ajuste de escala automático. Para obtener más información, consulta Descripción general del ajuste de escala automático.

  7. Observa y soluciona los problemas relacionados con posibles hotspots o patrones de acceso desequilibrados con Key Visualizer y trata de revertir cualquier cambio en el código de la aplicación que se correlacione en gran medida con el período del problema.

  8. Verifica si hay cambios en los patrones de tráfico.

  9. Consulta las Estadísticas de consultas y las Estadísticas de transacciones para ver si hay cuellos de botella en el rendimiento de las consultas o las transacciones.

  10. Usa los procedimientos en Consultas activas más antiguas para ver las consultas costosas que podrían causar un cuello de botella en el rendimiento y cancelar las consultas según sea necesario.

  11. Usa los procedimientos de las secciones de solución de problemas en los siguientes temas para solucionar el problema con las herramientas de introspección de Spanner:

¿Qué sigue?