Schema und Anwendungsleistung testen und optimieren

Die Leistungsoptimierung ist ein iterativer Prozess, bei dem Sie Messwerte wie CPU-Auslastung und Latenz bewerten, Ihr Schema und Ihre Anwendung anpassen, um die Leistung zu verbessern, und dann noch einmal testen.

Sie können beispielsweise einen Index hinzufügen oder ändern oder einen Primärschlüssel ändern. In Ihrer Anwendung können Sie Schreibvorgänge in Batches zusammenfassen oder Ihre Abfragen zusammenführen oder ändern.

Insbesondere für Produktions-Traffic ist die Leistungsoptimierung wichtig, um Überraschungen zu vermeiden. Die Leistungsoptimierung ist umso effektiver, je näher die Einrichtung dem Durchsatz und den Datengrößen des Live-Produktionsverkehrs kommt.

So testen und optimieren Sie Ihr Schema und die Anwendungsleistung:

  1. Laden Sie eine Teilmenge Ihrer Daten in eine Spanner-Datenbank hoch. Sie können die Beispieldaten mit dem BigQuery-Reverse-ETL-Workflow laden. Weitere Informationen finden Sie unter Beispieldaten laden.
  2. Lassen Sie die Anwendung auf Spanner verweisen.
  3. Prüfen Sie die Datenbankkonsistenz, indem Sie grundlegende Abläufe durchgehen.
  4. Führen Sie Lasttests für Ihre Anwendung durch, um zu prüfen, ob die Leistung Ihren Erwartungen entspricht. Informationen zum Identifizieren und Optimieren Ihrer teuersten Abfragen finden Sie unter Probleme mit der Abfrageleistung mit Query Insights erkennen. Insbesondere die folgenden Faktoren können zu einer suboptimalen Abfrageleistung beitragen:
    1. Ineffiziente Abfragen: Informationen zum Schreiben effizienter SQL-Abfragen finden Sie unter Best Practices für SQL.
    2. Hohe CPU-Auslastung: Weitere Informationen finden Sie unter Hohe CPU-Auslastung untersuchen.
    3. Sperren: Informationen dazu, wie Sie Engpässe durch Transaktionssperren reduzieren können, finden Sie unter Transaktionen identifizieren, die hohe Latenzen verursachen können.
    4. Ineffizientes Schemadesign: Wenn das Schema nicht gut konzipiert ist, ist die Abfrageoptimierung nicht sehr nützlich. Weitere Informationen zum Entwerfen guter Schemas finden Sie unter Best Practices für Schemadesign.
    5. Hotspots: Hotspots in Spanner begrenzen den Schreibdurchsatz, insbesondere bei Anwendungen mit hoher QPS. Um Hotspots oder Probleme mit dem Schemadesign zu erkennen, sehen Sie sich die Key Visualizer-Statistiken in der Google Cloud Konsole an. Weitere Informationen zum Vermeiden von Hotspots finden Sie unter Primärschlüssel zur Vermeidung von Hotspots auswählen.
  5. Wenn Sie das Schema oder die Indexe ändern, wiederholen Sie die Tests zur Datenbankkonsistenz und ‑leistung, bis Sie zufriedenstellende Ergebnisse erzielen.

Weitere Informationen zum Optimieren der Datenbankleistung erhalten Sie vom Spanner-Support.