Testa e ottimizza lo schema e le prestazioni dell'applicazione
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
L'ottimizzazione delle prestazioni è un processo iterativo in cui valuti metriche come
l'utilizzo della CPU e la latenza, modifichi lo schema
e l'applicazione per migliorare le prestazioni e ripeti il test.
Ad esempio, nello schema puoi aggiungere o modificare un indice oppure cambiare una chiave primaria. Nella tua applicazione, potresti raggruppare le scritture o unire o
modificare le query.
Per il traffico di produzione in particolare, l'ottimizzazione del rendimento è importante per evitare sorprese. L'ottimizzazione delle prestazioni è più efficace quanto più la configurazione si avvicina
alla velocità effettiva del traffico di produzione e alle dimensioni dei dati.
Per testare e ottimizzare lo schema e le prestazioni dell'applicazione:
Verifica la coerenza del database controllando i flussi di base.
Verifica che il rendimento soddisfi le tue aspettative eseguendo test di carico
sulla tua applicazione. Per assistenza nell'identificazione e nell'ottimizzazione delle query più costose, consulta Rilevare i problemi di prestazioni delle query con Query Insights.
In particolare, i seguenti fattori possono contribuire a prestazioni delle query non ottimali:
Query inefficienti: per informazioni sulla scrittura di query SQL efficienti, consulta la sezione Best practice per SQL.
Progettazione dello schema inefficiente: se lo schema non è progettato bene, l'ottimizzazione delle query non è molto utile. Per saperne di più sulla progettazione
di schemi validi, consulta
Best practice per la progettazione degli schemi.
Hotspot: gli hotspot in Spanner limitano la velocità effettiva di scrittura, soprattutto per le applicazioni con QPS elevato. Per identificare hotspot o
problemi di progettazione dello schema, controlla le statistiche di Key
Visualizer
dalla console Google Cloud . Per saperne di più su come
evitare gli hotspot, consulta
Scegliere una chiave primaria per evitare gli hotspot.
Se modifichi lo schema o gli indici, ripeti i test di coerenza e prestazioni del database finché non ottieni risultati soddisfacenti.
Per saperne di più sull'ottimizzazione delle prestazioni del database, contatta l'assistenza Spanner.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-05 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)."]]