Questa pagina descrive le prestazioni approssimative che Spanner può fornire in condizioni ottimali, i fattori che possono influire sulle prestazioni e i suggerimenti per testare e risolvere i problemi di prestazioni di Spanner.
Le informazioni in questa pagina si applicano ai database GoogleSQL e PostgreSQL.
Miglioramenti delle prestazioni e dello spazio di archiviazione
I miglioramenti delle prestazioni e dello spazio di archiviazione sono stati implementati in tutte le configurazioni di istanze Spanner a livello di regione, a due regioni e multiregionali. Non è necessario apportare modifiche alla tua applicazione o configurare manualmente nulla nelle tue istanze Spanner per usufruire di questi miglioramenti, che sono offerti senza costi aggiuntivi. Questi miglioramenti delle prestazioni si traducono in un throughput più elevato e una latenza migliore nei nodi Spanner in tutte le configurazioni delle istanze.
Maggiore velocità effettiva delle prestazioni
Tutte le configurazioni delle istanze Spanner hanno prestazioni migliorate e offrono un throughput maggiore. La tabella seguente fornisce il throughput approssimativo (query al secondo) per queste configurazioni di istanze Spanner:
| Tipo di configurazione dell'istanza | Letture di picco (QPS per regione) | Scritture di picco (QPS totali) | Picco di scritture utilizzando le scritture ottimizzate per il throughput (QPS totali) | ||
|---|---|---|---|---|---|
| Regionale | SSD: 22.500 HDD: 1500 |
o | SSD: 3500 HDD: 3500 |
SSD: 22.500 HDD: 22.500 |
|
| A due regioni e multiregionale | SSD: 15.000 HDD: 1000 |
o | SSD: 2700 HDD: 2700 |
SSD: 15.000 HDD: 15.000 |
Per informazioni sul throughput delle prestazioni di queste configurazioni delle istanze, consulta Prestazioni per workload tipici. Per maggiori informazioni sull'utilizzo di unità a stato solido (SSD) e hard disk (HDD) per archiviare i dati, consulta la panoramica dell'archiviazione a livelli.
Le indicazioni per la lettura sono fornite per regione (perché le letture possono essere eseguite da qualsiasi regione di lettura/scrittura o di sola lettura), mentre le indicazioni per la scrittura riguardano l'intera configurazione. Le indicazioni per la lettura presuppongono che tu stia leggendo singole righe di 1 kB. Le indicazioni per la scrittura presuppongono che tu stia scrivendo singole righe con 1 kB di dati per riga.
Puoi ottenere prestazioni di scrittura massime con scritture ottimizzate per il throughput impostando un ritardo di raggruppamento di 100 ms. Per ulteriori informazioni, consulta Scritture ottimizzate per il throughput.
In generale, sia il throughput di lettura che quello di scrittura di un'istanza Spanner scalano in modo lineare man mano che aggiungi più capacità di calcolo (nodi o unità di elaborazione) all'istanza. Ad esempio, se un'istanza Spanner a singola regione con 2 nodi può fornire fino a 45.000 letture al secondo, un'istanza Spanner a singola regione con 4 nodi può fornire fino a 90.000 letture al secondo.
Se il tuo workload Spanner non raggiunge le prestazioni previste, consulta Risoluzione dei problemi relativi alle regressioni delle prestazioni delle query per informazioni sulle cause comuni.
Spazio di archiviazione ampliato
Per tutte le configurazioni di istanze Spanner a livello di regione, a due regioni e multiregionali, ogni nodo (1000 unità di elaborazione) della capacità di computing nell'istanza ha una capacità di archiviazione aumentata di 10 TiB.
Prestazioni per workload tipici
Tutte le configurazioni delle istanze Spanner hanno prestazioni migliorate e offrono un throughput maggiore.
Prestazioni per le configurazioni regionali
Ogni 1000 unità di elaborazione (1 nodo) di capacità di calcolo può fornire le seguenti prestazioni di picco (con CPU al 100%) in una configurazione di istanza regionale:
| Letture di picco (QPS per regione) | Scritture di picco (QPS totali) | Picco di scritture utilizzando le scritture ottimizzate per il throughput (QPS totali) | ||
|---|---|---|---|---|
| SSD: 22.500 HDD: 1500 |
o | SSD: 3500 HDD: 3500 |
SSD: 22.500 HDD: 22.500 |
Per le configurazioni di istanze regionali che supportano repliche di sola lettura facoltative, ogni replica di sola lettura facoltativa fornisce ulteriori 7500 letture al secondo per lo spazio di archiviazione SSD e 500 letture al secondo per lo spazio di archiviazione HDD.
Prestazioni per le configurazioni a due regioni
Ogni 1000 unità di elaborazione (1 nodo) di capacità di calcolo fornisce le seguenti prestazioni di picco (con CPU al 100%) in una configurazione di istanza a due regioni. Per aumentare la velocità effettiva di scrittura oltre i numeri nella tabella, utilizza le scritture ottimizzate per la velocità effettiva. Per saperne di più, consulta Scritture ottimizzate per il throughput.
| Nome della configurazione di base | Letture di picco approssimative (QPS per regione) | Scritture di picco approssimative (QPS totali) |
|---|---|---|
dual-region-australia1 |
SSD: 15.000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
dual-region-germany1 |
SSD: 15.000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
dual-region-india1 |
SSD: 15.000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
dual-region-japan1 |
SSD: 15.000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
Le indicazioni per la lettura si applicano per regione, perché qualsiasi regione può gestire le letture, mentre le indicazioni per la scrittura si applicano all'intera configurazione. Queste indicazioni presuppongono che tu legga e scriva singole righe con 1 kB di dati per riga.
Prestazioni per le configurazioni multiregionali
Ogni configurazione di istanza multiregionale di Spanner ha caratteristiche di prestazioni leggermente diverse in base alla topologia di replica. Utilizza le scritture ottimizzate per il throughput per aumentare il throughput di scrittura oltre i numeri riportati nella tabella.
Ogni 1000 unità di elaborazione (1 nodo) di capacità di calcolo può fornire le seguenti prestazioni di picco (con CPU al 100%):
| Nome della configurazione di base | Letture di picco approssimative (QPS per regione) | Scritture di picco approssimative (QPS totali) |
|---|---|---|
asia1 |
SSD: 15.000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
asia2 |
SSD: 15.000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
eur3 |
SSD: 15.000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
eur5 |
SSD: 15.000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
eur6 |
SSD: 15.000, 7500 per ogni replica di sola lettura facoltativa HDD: 1000, 500 per ogni replica di sola lettura facoltativa |
SSD: 2700 HDD: 2700 |
eur7 |
SSD: 15.000, 7500 per ogni replica di sola lettura facoltativa HDD: 1000, 500 per ogni replica di sola lettura facoltativa |
SSD: 2700 HDD: 2700 |
nam3 |
SSD: 15.000, 7500 per ogni replica di sola lettura facoltativa HDD: 1000, 500 per ogni replica di sola lettura facoltativa |
SSD: 2700 HDD: 2700 |
nam6 |
SSD: 15.000 in us-central1 e us-east17500 in us-west1 e us-west2HDD: 1000 in us-central1 e us-east1500 in us-west1 e us-west2 [1] |
SSD: 2700 HDD: 2700 |
nam7 |
SSD: 15.000, 7500 per ogni replica di sola lettura facoltativa HDD: 1000, 500 per ogni replica di sola lettura facoltativa |
SSD: 2700 HDD: 2700 |
nam8 |
SSD: 15.000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
nam9 |
SSD: 15.000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
nam10 |
SSD: 15.000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
nam11 |
SSD: 15.000, 7500 per ogni replica di sola lettura facoltativa HDD: 1000, 500 per ogni replica di sola lettura facoltativa |
SSD: 2700 HDD: 2700 |
nam12 |
SSD: 15.000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
nam13 |
SSD: 15.000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
nam14 |
SSD: 15.000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
nam15 |
SSD: 15.000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
nam16 |
SSD: 15.000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
nam-eur-asia1 |
SSD: 15.000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
nam-eur-asia3 |
SSD: 15.000 HDD: 1000 |
SSD: 2700 HDD: 2700 |
- [1]:
us-west1eus-west2forniscono solo la metà delle prestazioni QPS perché contengono una replica per regione anziché due.
Le indicazioni per la lettura si applicano per regione, perché qualsiasi regione può gestire le letture, mentre le indicazioni per la scrittura si applicano all'intera configurazione. Queste indicazioni presuppongono che tu legga e scriva singole righe con 1 kB di dati per riga.
Esegui i tuoi workload tipici su Spanner
Esegui sempre i tuoi workload tipici su un'istanza Spanner quando esegui la pianificazione della capacità, in modo da poter determinare l'allocazione delle risorse migliore per le tue applicazioni. PerfKit Benchmarker di Google utilizza YCSB per eseguire il benchmark dei servizi cloud. Per creare test per i tuoi workload, segui il tutorial di PerfKitBenchmarker per Spanner.
In questo caso, devi ottimizzare i parametri nei file di configurazione del benchmark yaml per assicurarti che il benchmark generato rifletta le seguenti caratteristiche nel tuo ambiente di produzione:
- Dimensione totale del database
- Schema (ad esempio, dimensione della chiave di riga, numero di colonne e dimensioni dei dati delle righe)
- Pattern di accesso ai dati (distribuzione chiave di riga)
- Combinazione di letture e scritture
- Tipo e complessità delle query
Riproduci i numeri del benchmark
Per riprodurre i numeri di benchmark, segui il tutorial
Esegui il benchmark di Spanner con PerfKit Benchmarker
utilizzando i file yaml corrispondenti nella
cartella
throughput_benchmark.
Per eseguire il benchmark delle istanze in una configurazione che ha subito miglioramenti delle prestazioni, assicurati che i test vengano eseguiti in una di queste configurazioni di istanze migliorate.
Protezione dagli errori a livello di zona e di regione
Quando esegui i workload in produzione, è importante eseguire il provisioning di una capacità di computing sufficiente per continuare a gestire il traffico in caso di perdita di un'intera zona (per le istanze a livello di zona) o di un'intera regione (per le istanze a due regioni e multiregionali). Per ulteriori informazioni sulla CPU massima consigliata, consulta Avvisi per un utilizzo elevato della CPU.
Passaggi successivi
- Scopri come progettare uno schema Spanner.
- Scopri come monitorare le prestazioni di Spanner.
- Scopri come risolvere i problemi con Key Visualizer.
- Scopri di più sui prezzi di Spanner.