Questa pagina descrive come risolvere i problemi relativi ai componenti di Spanner per trovare l'origine della latenza. Per scoprire di più sui possibili punti di latenza in una richiesta Spanner, consulta Punti di latenza in una richiesta Spanner.
Nell'applicazione client che interessa il tuo servizio, verifica che ci sia un aumento della latenza rispetto alla latenza nel tempo di round trip del client. Controlla le seguenti dimensioni delle metriche lato client.
- Nome dell'applicazione client
- Località del client (ad esempio, zone VM di Compute Engine) e host (ovvero nomi VM)
- Metodo dell'API Spanner
- Stato dell'API Spanner
Raggruppa in base a queste dimensioni per verificare se il problema è limitato a un client, a uno stato o a un metodo specifico. Per i workload a due regioni o multiregionali, verifica se il problema è limitato a un client o a una regione Spanner specifica.
Controlla lo stato di integrità dell'applicazione client, in particolare l'infrastruttura di computing sul lato client (ad esempio, utilizzo di VM, CPU o memoria, connessioni, descrittori di file e così via).
Controlla la latenza nei componenti Spanner:
a. Controlla la latenza nel tempo di round trip del client con OpenTelemetry o con OpenCensus.
b. Controlla la latenza di Google Front End (GFE) con OpenTelemetry o con OpenCensus.
c. Controlla la latenza delle richieste API Spanner con OpenTelemetry o con OpenCensus.
Se hai una latenza nel tempo di round trip del client elevata, ma una latenza GFE bassa e una latenza delle richieste API Spanner bassa, il codice dell'applicazione potrebbe avere un problema. Potrebbe anche esserci un problema di rete tra il client e GFE regionale. Se la tua applicazione presenta un problema di prestazioni che causa il rallentamento di alcuni percorsi di codice, la latenza nel tempo di round trip del client per ogni richiesta API potrebbe aumentare. Potrebbe anche esserci un problema nell'infrastruttura di computing del client che non è stato rilevato nel passaggio precedente.
Controlla le seguenti dimensioni per le metriche Spanner:
- Nome del database Spanner
- Metodo dell'API Spanner
- Stato dell'API Spanner
Raggruppa in base a queste dimensioni per verificare se il problema è limitato a un database, a uno stato o a un metodo specifico. Per i workload a due regioni o multiregionali, verifica se il problema è limitato a una regione specifica.
Se hai una latenza GFE elevata, ma una latenza delle richieste API Spanner bassa, la causa potrebbe essere una delle seguenti:
Accesso a un database da un'altra regione. Questa azione può comportare una latenza GFE elevata e una latenza delle richieste API Spanner bassa. Ad esempio, il traffico da un client nella regione
us-east1che ha un'istanza nella regioneus-central1potrebbe avere una latenza GFE elevata, ma una latenza delle richieste API Spanner inferiore.Problema a livello di GFE. Controlla la Google Cloud dashboard dello stato per verificare se ci sono problemi di rete nella tua regione. Se non ci sono problemi, apri una richiesta di assistenza e includi queste informazioni in modo che i tecnici del servizio di assistenza possano aiutarti a risolvere i problemi relativi a GFE.
Controlla l'utilizzo della CPU dell'istanza. Se l'utilizzo della CPU dell'istanza è superiore al livello consigliato, devi aggiungere manualmente altri nodi o configurare la scalabilità automatica. Per saperne di più, consulta Panoramica della scalabilità automatica.
Osserva e risolvi i problemi di potenziali hotspot o di pattern di accesso sbilanciati utilizzando Key Visualizer e prova a eseguire il rollback delle eventuali modifiche al codice dell'applicazione che sono fortemente correlate al periodo di tempo del problema.
Controlla eventuali cambiamenti al pattern del traffico.
Controlla Query Insights e Transaction Insights per verificare se potrebbero esserci colli di bottiglia nelle prestazioni di query o transazioni.
Utilizza le procedure descritte in Query attive meno recenti per visualizzare le query dispendiose che potrebbero causare un collo di bottiglia delle prestazioni e annulla le query in base alle esigenze.
Utilizza le procedure descritte nelle sezioni relative alla risoluzione dei problemi negli argomenti seguenti per risolvere ulteriormente il problema utilizzando gli strumenti di introspezione di Spanner:
Passaggi successivi
- Ora che hai identificato il componente che contiene la latenza, approfondisci l'esplorazione del problema utilizzando OpenCensus. Per saperne di più, consulta Acquisisci metriche lato client personalizzate utilizzando OpenTelemetry o Acquisisci metriche lato client personalizzate utilizzando OpenCensus.
- Scopri come utilizzare le metriche per diagnosticare la latenza.
- Scopri come risolvere i problemi relativi agli errori di scadenza superata di Spanner.