En esta página se describe cómo solucionar los problemas de los componentes de Spanner para averiguar 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.
En la aplicación cliente que afecta a tu servicio, confirma que hay un aumento de la latencia de ida y vuelta del cliente. Consulte las siguientes dimensiones de sus métricas del lado 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 datos por 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 concretos.
Comprueba el estado de tu aplicación cliente, especialmente la infraestructura informática del lado del cliente (por ejemplo, la utilización de la máquina virtual, la CPU o la memoria, las conexiones, los descriptores de archivos, etc.).
Comprueba la latencia de los componentes de Spanner:
a. Consulta la latencia de ida y vuelta del cliente con OpenTelemetry o con OpenCensus.
b. Consulta la latencia de Google Front End (GFE) con OpenTelemetry o con OpenCensus.
c. Consulta la latencia de las solicitudes de la API Spanner con OpenTelemetry o con OpenCensus.
Si tienes una latencia de ida y vuelta del cliente alta, pero una latencia de GFE baja y una latencia de solicitud de la API de Spanner baja, puede que haya un problema con el código de la aplicación. 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 provoca que algunas rutas de código sean lentas, la latencia de ida y vuelta del cliente para cada solicitud de API podría aumentar. También puede haber un problema en la infraestructura informática del cliente que no se haya detectado en el paso anterior.
Comprueba 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 los datos por estas dimensiones para ver si el problema se limita a una base de datos, un estado o un método concretos. En el caso de las cargas de trabajo de dos o varias regiones, comprueba si el problema se limita a una región concreta.
Si tienes una latencia de GFE alta, pero una latencia de solicitud de API de Spanner baja, puede deberse a uno de los siguientes motivos:
Acceder a una base de datos de otra región. Esta acción puede provocar una latencia alta de GFE y una latencia baja de las solicitudes a la API Spanner. Por ejemplo, el tráfico de un cliente de la región
us-east1
que tiene una instancia en la regiónus-central1
puede tener una latencia alta de GFE, pero una latencia de solicitud de API de Spanner más baja.Hay un problema en la capa de GFE. Consulta el Google Cloud Panel de Estado para ver si hay algún problema de red en tu zona. Si no hay ningún problema, abre un caso de asistencia e incluye esta información para que los ingenieros puedan ayudarte a solucionar los problemas de GFE.
Comprueba la utilización de la CPU de la instancia. Si la utilización de la CPU de la instancia supera el nivel recomendado, debes añadir más nodos manualmente o configurar el escalado automático. Para obtener más información, consulta el resumen del autoescalado.
Observa y soluciona posibles puntos de acceso o patrones de acceso desequilibrados con Key Visualizer e intenta revertir los cambios en el código de la aplicación que se correlacionen con el periodo del problema.
Comprueba si se han producido cambios en los patrones de tráfico.
Consulta 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.
Sigue los procedimientos de Consultas activas más antiguas para ver las consultas costosas que puedan provocar un cuello de botella en el rendimiento y cancelar las consultas según sea necesario.
Sigue los procedimientos de las secciones de solución de problemas de los temas siguientes para solucionar el problema con las herramientas de introspección de Spanner:
Siguientes pasos
- Ahora que has identificado el componente que contiene la latencia, profundiza en el problema con OpenCensus. Para obtener más información, consulta Recoger métricas de clientes personalizadas con OpenTelemetry o con OpenCensus.
- Consulta cómo usar las métricas para diagnosticar la latencia.
- Consulta cómo solucionar errores de tiempo de espera agotado de Spanner.