Identifica dove si verifica la latenza

Questa pagina descrive come risolvere i problemi dei componenti di Spanner per trovare l'origine della latenza. Per saperne di più sui possibili punti di latenza in una richiesta Spanner, consulta Punti di latenza in una richiesta Spanner.

  1. Nell'applicazione client che influisce sul tuo servizio, verifica che esista un aumento della latenza dovuto alla latenza di round trip del client. Controlla le seguenti dimensioni con le metriche lato client.

    • Nome applicazione client
    • Località client (ad esempio zone VM di Compute Engine) e host (ovvero nomi delle VM)
    • Metodo API Spanner
    • Stato API Spanner

    Raggruppa in base a queste dimensioni per vedere se il problema è limitato a un client, uno stato o un metodo specifici. Per carichi di lavoro a due o più regioni, verifica se il problema è limitato a un client o una regione Spanner specifici.

  2. Controlla l'integrità dell'applicazione client, in particolare l'infrastruttura di computing sul lato client (ad esempio, l'utilizzo di VM, CPU o memoria, connessioni, descrittori di file e così via).

  3. Controlla la latenza nei componenti di Spanner:

    a. Controlla la latenza del 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 un'elevata latenza di round trip del client, ma una bassa latenza GFE e una bassa latenza delle richieste dell'API Spanner, il codice dell'applicazione potrebbe presentare un problema. Potrebbe anche indicare un problema di rete tra il client e il GFE a livello di regione. Se l'applicazione presenta un problema di prestazioni che causa il rallentamento di alcuni percorsi del codice, la latenza 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.

  4. Verifica le seguenti dimensioni per le metriche di Spanner:

    • Nome database Spanner
    • Metodo API Spanner
    • Stato API Spanner

    Raggruppa in base a queste dimensioni per vedere se il problema è limitato a un database, uno stato o un metodo specifici. Per carichi di lavoro a due o più regioni, verifica se il problema è limitato a una regione specifica.

    Se hai una latenza elevata in GFE, ma una latenza bassa delle richieste API Spanner, la causa potrebbe essere una delle seguenti:

    • Accesso a un database da un'altra regione. Questa azione può portare a una latenza elevata GFE e a una bassa latenza di richieste API Spanner. Ad esempio, il traffico proveniente da un client nella regione us-east1 con un'istanza nella regione us-central1 potrebbe avere una latenza GFE elevata, ma una latenza inferiore per le richieste API Spanner.

    • Si è verificato un problema a livello di GFE. Controlla la dashboard dello stato di Google Cloud per verificare se sono in corso problemi di rete nella tua regione. Se non si verificano problemi, apri una richiesta di assistenza e includi queste informazioni in modo che i tecnici dell'assistenza possano aiutarti a risolvere i problemi di GFE.

  5. 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 maggiori informazioni, consulta Panoramica della scalabilità automatica.

  6. Osserva e risolvi potenziali hotspot o pattern di accesso sbilanciati utilizzando Key Visualizer e prova a eseguire il rollback di eventuali modifiche al codice dell'applicazione strettamente correlate al periodo di tempo del problema.

  7. Controlla se sono state apportate modifiche al modello di traffico.

  8. Controlla Query Insights e Transaction Insights per verificare se si sono verificati colli di bottiglia nel rendimento delle query o delle transazioni. Nella maggior parte dei casi, devi seguire le best practice di Spanner per ottimizzare le query o le transazioni.

  9. Utilizza le procedure in Query attive meno recenti per visualizzare le query relative alle spese che potrebbero causare un collo di bottiglia delle prestazioni e annullale secondo le necessità.

  10. Usa le procedure nelle sezioni relative alla risoluzione dei problemi degli argomenti seguenti per risolvere ulteriormente il problema utilizzando gli strumenti introspezione di Spanner:

Passaggi successivi