Identificar dónde ocurre la latencia

En esta página, se describe cómo solucionar problemas de 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 latencia a partir de la latencia de ida y vuelta del cliente. Verifica las siguientes dimensiones de tus 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 por estas dimensiones para ver si el problema se limita a un cliente, estado o método específico. Para cargas de trabajo birregionales o multirregionales, consulta si el problema se limita a un cliente o a una región de Spanner específicos.

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

  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 las solicitudes 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 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 el GFE regional. Si tu aplicación tiene un problema de rendimiento que hace que algunas rutas de código sean lentas, la latencia de ida y vuelta del cliente para cada solicitud a la API puede aumentar. También puede haber un problema en la infraestructura de computación del cliente que no se detectó en el paso anterior.

  4. Verifica las siguientes dimensiones para 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 el caso de las cargas de trabajo birregionales o multirregionales, verifica si el problema está limitado a una región específica.

    Si tienes una latencia de GFE alta, pero una latencia de solicitud a la API de Spanner baja, puede deberse 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 solicitud 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 de 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 los problemas del GFE.

  5. 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.

  6. Observa y soluciona posibles hotspots o patrones de acceso desequilibrados con Key Visualizer y, luego, intenta revertir cualquier cambio en el código de la aplicación que esté muy relacionado con el plazo del problema.

  7. Verifica si hay cambios en el patrón de tráfico.

  8. Revisa las Estadísticas de consultas y Estadísticas de transacciones para ver si hay 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 las transacciones.

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

  10. Usa los procedimientos que se indican en las secciones de solución de problemas de los siguientes temas para solucionar el problema aún más con las herramientas de introspección de Spanner:

¿Qué sigue?