Erkennen, wo die Latenz auftritt

In diesem Thema wird beschrieben, wie Sie Probleme mit Spanner-Komponenten beheben, um die Ursache der Latenz zu finden. Weitere Informationen zu möglichen Latenzpunkten in einer Spanner-Anfrage finden Sie unter Latenzpunkte in einer Spanner-Anfrage.

  1. Prüfen Sie in Ihrer Clientanwendung, die Ihren Dienst betrifft, ob die Latenz aufgrund der Umlauflatenz des Clients erhöht wird. Prüfen Sie die folgenden Dimensionen Ihrer clientseitigen Messwerte.

    • Name der Clientanwendung
    • Clientlokalität (z. B. Compute Engine-VM-Zonen) und Host (also VM-Namen)
    • Spanner API-Methode
    • Spanner API-Status

    Gruppieren Sie nach diesen Dimensionen, um zu sehen, ob das Problem auf einen bestimmten Client, einen bestimmten Status oder eine bestimmte Methode beschränkt ist. Prüfen Sie bei multiregionalen Arbeitslasten, ob das Problem auf einen bestimmten Client oder eine bestimmte Spanner-Region beschränkt ist.

  2. Prüfen Sie den Zustand Ihrer Clientanwendung, insbesondere die Computing-Infrastruktur auf Clientseite (z. B. VM-, CPU- oder Arbeitsspeicherauslastung, Verbindungen, Dateideskriptoren usw.).

  3. Prüfen Sie die Latenz in den Spanner-Komponenten:

    a. Prüfen Sie die Umlauflatenz des Clients mit OpenTelemetry oder mit OpenCensus.

    b. Prüfen Sie die Latenz des Google Front End (GFE) mit OpenTelemetry oder mit OpenCensus.

    c. Prüfen Sie die Latenz von Spanner API-Anfragen mit OpenTelemetry oder mit OpenCensus.

    Wenn Sie eine hohe Umlauflatenz des Clients, aber eine niedrige GFE-Latenz und eine niedrige Spanner API-Anfragelatenz haben, liegt möglicherweise ein Problem im Anwendungscode vor. Es kann auch auf ein Netzwerkproblem zwischen dem Client und dem regionalen GFE hinweisen. Wenn bei Ihrer Anwendung ein Leistungsproblem auftritt, das dazu führt, dass einige Codepfade langsam sind, kann sich die Client-Umlauflatenz für jede API-Anfrage erhöhen. Möglicherweise gibt es auch ein Problem in der Client-Computing-Infrastruktur, das im vorherigen Schritt nicht erkannt wurde.

  4. Prüfen Sie die folgenden Dimensionen für Spanner-Messwerte:

    • Spanner-Datenbankname
    • Spanner API-Methode
    • Spanner API-Status

    Gruppieren Sie nach diesen Dimensionen, um zu sehen, ob das Problem auf eine bestimmte Datenbank, einen bestimmten Status oder eine bestimmte Methode beschränkt ist. Prüfen Sie bei multiregionalen Arbeitslasten, ob das Problem auf eine bestimmte Region beschränkt ist.

    Wenn Sie eine hohe GFE-Latenz, aber eine niedrige Spanner API-Anfragelatenz haben, kann dies eine der folgenden Ursachen haben:

    • Zugriff auf eine Datenbank aus einer anderen Region Dies kann zu einer hohen GFE-Latenz und einer niedrigen Spanner API-Anfragelatenz führen. Traffic von einem Client in der Region us-east1, der eine Instanz in der Region us-central1 hat, kann beispielsweise eine hohe GFE-Latenz, aber eine geringere Spanner API-Anfragelatenz haben.

    • Auf der GFE-Ebene gibt es ein Problem. Sehen Sie im Google Cloud-Status-Dashboard nach, ob derzeit Netzwerkprobleme in Ihrer Region vorliegen. Wenn keine Probleme vorhanden sind, eröffnen Sie eine Supportanfrage und fügen Sie diese Informationen hinzu, damit Supportentwickler bei der Fehlerbehebung im GFE helfen können.

  5. Prüfen Sie die CPU-Auslastung der Instanz. Wenn die CPU-Auslastung der Instanz über dem empfohlenen Niveau liegt, sollten Sie manuell weitere Knoten hinzufügen oder Autoscaling einrichten. Weitere Informationen finden Sie unter Übersicht über Autoscaling.

  6. Beobachten und beheben Sie potenzielle Hotspots oder unausgeglichene Zugriffsmuster mit Key Visualizer und versuchen Sie, für alle Änderungen am Anwendungscode, die stark mit dem Zeitraum des Problems zusammenhängen, ein Rollback durchzuführen.

  7. Prüfen Sie alle Änderungen des Traffic-Musters.

  8. Prüfen Sie Query Insights und Transaction Insights, um festzustellen, ob es Probleme mit der Abfrage- oder Transaktionsleistung gibt. In den meisten Fällen müssen Sie die Best Practices für Spanner befolgen, um Ihre Abfragen oder Transaktionen zu optimieren.

  9. Verwenden Sie die Verfahren unter Älteste aktive Abfragen, um Kostenabfragen zu sehen, die einen Leistungsengpass verursachen können, und brechen Sie die Abfragen nach Bedarf ab.

  10. Führen Sie die Schritte in den Abschnitten zur Fehlerbehebung in den folgenden Themen aus, um das Problem mithilfe der Tools zur Selbstprüfung weiter zu beheben:

Nächste Schritte