Identifica dove si verifica la latenza

Questo argomento 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 servizio, verifica che esista un aumento della latenza per la latenza di round trip del client. Controlla le seguenti dimensioni dalle 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 dell'API Spanner

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

  2. Controllare l'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).

  3. Controlla la latenza nei componenti di Spanner:

    a. Controlla la latenza di andata e ritorno 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 dell'API Spanner con OpenTelemetry o con OpenCensus.

    Se hai un'elevata latenza di andata e ritorno del client, ma una bassa latenza GFE e una bassa latenza delle richieste dell'API Spanner, il codice dell'applicazione potrebbe avere un problema. Potrebbe anche indicare un problema di rete tra il client e GFE regionale. Se l'applicazione presenta un problema di prestazioni che causa la lentezza di alcuni percorsi di 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. Controlla le seguenti dimensioni per le metriche di Spanner:

    • Nome database Spanner
    • Metodo API Spanner
    • Stato dell'API Spanner

    Raggruppa in base a queste dimensioni per vedere se il problema è limitato a un database, a uno stato o a un metodo specifico. Per i carichi di lavoro multiregionali, controlla se il problema è limitato a una regione specifica.

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

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

    • Si è verificato un problema con il livello GFE. Controlla la Dashboard dello stato di Google Cloud per verificare se sono presenti problemi di networking in corso nella tua regione. Se non ci sono 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 ulteriori informazioni, consulta la Panoramica della scalabilità automatica.

  6. Osserva e risolvi potenziali hotspot o pattern di accesso non bilanciati utilizzando Key Visualizer e prova a eseguire il rollback di qualsiasi modifica al codice dell'applicazione strettamente correlata al periodo di tempo dei problemi.

  7. Controlla eventuali modifiche al pattern di traffico.

  8. Controlla gli approfondimenti sulle query e gli insight sulle transazioni per individuare eventuali colli di bottiglia delle prestazioni 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 indicate in Query attive meno recenti per visualizzare eventuali query relative alle spese che potrebbero causare un collo di bottiglia delle prestazioni e, se necessario, annulla le query.

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

Passaggi successivi