Identifica dónde ocurre la latencia

En este tema, se describe cómo solucionar problemas relacionados con los componentes de Spanner para encontrar la fuente de la latencia. 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.

  1. En la aplicación cliente que afecta el servicio, confirma que haya un aumento de la latencia de la latencia de ida y vuelta del cliente. Verifica las siguientes dimensiones de las métricas del cliente.

    • Nombre de la aplicación cliente
    • Localidad del cliente (por ejemplo, zonas de VM de Compute Engine) y host (es decir, nombres de VM)
    • Método de la API de Spanner
    • Estado de la API de Spanner

    Agrupa los elementos por estas dimensiones para ver si el problema se limita a un cliente, un estado o un método específicos. En cargas de trabajo multirregionales, verifica si el problema se limita a un cliente específico o a una región de Spanner.

  2. Verifica el estado de la aplicación cliente, en especial la infraestructura de procesamiento del lado del cliente (por ejemplo, uso de VM, CPU o memoria, conexiones y descriptores de archivos, entre otros).

  3. Verifica la latencia en los componentes de Spanner:

    a. Verifica la latencia de ida y vuelta del cliente con OpenTelemetry o con OpenCensus.

    b. Verifica la latencia de Google Front End (GFE) con OpenTelemetry o con OpenCensus.

    c. Verifica la latencia de la solicitud a la API de Spanner con OpenTelemetry o con OpenCensus.

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

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

    • Nombre de la base de datos de Spanner
    • Método de la API de Spanner
    • Estado de la API de Spanner

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

    Si tienes una latencia de GFE alta, pero una latencia de solicitud a la API de Spanner baja, es posible que se deba a una de las siguientes causas:

    • Acceder a una base de datos desde otra región Esta acción puede generar una latencia de GFE alta y una latencia baja de las 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 puede tener una latencia de GFE alta, pero una latencia de solicitud a la API de Spanner más baja.

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

  5. Verifica el uso de CPU de la instancia. Si el uso de CPU de la instancia está por encima del nivel recomendado, deberías 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.

  6. Observa y soluciona los 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 fuertemente con el período del problema.

  7. Verifica cualquier cambio en el patrón de tráfico.

  8. Revisa las Estadísticas de consultas y las Estadísticas de transacciones para ver si puede haber cuellos de botella en el rendimiento de las consultas o las transacciones. En la mayoría de los casos, debes seguir las prácticas recomendadas de Spanner para optimizar las consultas o transacciones.

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

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

¿Qué sigue?