Schema und Anwendungsleistung testen und optimieren
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
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:
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.
Lassen Sie die Anwendung auf Spanner verweisen.
Prüfen Sie die Datenbankkonsistenz, indem Sie grundlegende Abläufe durchgehen.
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:
Ineffiziente Abfragen: Informationen zum Schreiben effizienter SQL-Abfragen finden Sie unter Best Practices für SQL.
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.
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.
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.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-17 (UTC)."],[],[],null,["# Test and tune your schema and application performance\n\nPerformance tuning is an iterative process in which you evaluate metrics like\nCPU utilization and latency, adjust your schema\nand application to improve performance, and test again.\n\nFor example, in your schema, you might add or change an index, or change a\nprimary key. In your application, you might batch writes, or you might merge or\nmodify your queries.\n\nFor production traffic in particular, performance tuning is important to help\navoid surprises. Performance tuning is more effective the closer the setup is to\nlive production traffic throughput and data sizes.\n\nTo test and tune your schema and application performance, follow these steps:\n\n1. Upload a subset of your data into a Spanner database. You can use the [BigQuery reverse ETL workflow](/bigquery/docs/export-to-spanner) to load the sample data. For more information, see [Load sample data](/spanner/docs/load-sample-data).\n2. Point the application to Spanner.\n3. Verify the database consistency by checking for basic flows.\n4. Verify that performance meets your expectations by performing load tests on your application. For help identifying and optimizing your most expensive queries, see [Detect query performance issues with query insights](/spanner/docs/using-query-insights). In particular, the following factors can contribute to suboptimal query performance:\n 1. **Inefficient queries** : For information about writing efficient SQL queries, see [SQL best practices](/spanner/docs/sql-best-practices).\n 2. **High CPU utilization** : For more information, see [Investigate high CPU utilization](/spanner/docs/introspection/investigate-cpu-utilization).\n 3. **Locking** : To reduce bottlenecks caused by transaction locking, see [Identify transactions that might cause high latencies](/spanner/docs/use-lock-and-transaction-insights).\n 4. **Inefficient schema design** : If the schema isn't designed well, query optimization isn't very useful. For more information about designing good schemas, see [Schema design best practices](/spanner/docs/schema-design).\n 5. **Hotspots** : Hotspots in Spanner limit write throughput, especially for high-QPS applications. To identify hotspots or schema design issues, check the [Key\n Visualizer](/spanner/docs/key-visualizer) statistics from the Google Cloud console. For more information about avoiding hotspots, see [Choose a primary key to prevent hotspots](/spanner/docs/schema-design#primary-key-prevent-hotspots).\n5. If you modify schema or indexes, repeat database consistency and performance testing until you achieve satisfactory results.\n\nFor more information about fine-tuning your database performance, contact\n[Spanner support](/spanner/docs/getting-support)."]]