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 riportate in questa pagina si applicano sia ai database GoogleSQL sia a quelli PostgreSQL.
Miglioramenti delle prestazioni e dello spazio di archiviazione
Sono stati implementati miglioramenti delle prestazioni e dello spazio di archiviazione in tutte le configurazioni di istanze regionali, a due regioni e multiregionali di Spanner. Non è necessario apportare modifiche all'applicazione o configurare manualmente le istanze Spanner per usufruire di questi miglioramenti, che vengono offerti senza costi aggiuntivi. Questi miglioramenti delle prestazioni si traducono in una velocità effettiva maggiore e una latenza migliore nei nodi Spanner in tutte le configurazioni delle istanze.
Maggiore velocità effettiva
Tutte le configurazioni delle istanze Spanner hanno prestazioni migliorate e offrono una velocità effettiva maggiore. La seguente tabella fornisce il throughput approssimativo (query al secondo) per le configurazioni delle istanze Spanner:
Tipo di configurazione dell'istanza | Letture di picco (QPS per regione) | Scritture di picco (QPS totale) | Picco di scritture che utilizzano scritture ottimizzate per il throughput (QPS totale) | ||
---|---|---|---|---|---|
A livello di regione | 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 di istanze, consulta Prestazioni per carichi di lavoro tipici. Per ulteriori informazioni sull'utilizzo di unità SSD e HDD per archiviare i dati, consulta la panoramica dell'archiviazione a livelli.
Le indicazioni di lettura vengono fornite per regione (perché le letture possono essere eseguite da qualsiasi regione di lettura/scrittura o di sola lettura), mentre le indicazioni di scrittura riguardano l'intera configurazione. Le indicazioni di lettura presuppongono che tu stia leggendo singole righe di 1 KB. Le indicazioni per la scrittura presuppongono che tu stia scrivendo singole righe a 1 kB di dati per riga.
Il picco di prestazioni di scrittura utilizzando le scritture ottimizzate per la velocità effettiva viene raggiunto utilizzando un ritardo di batch di 100 ms.
In generale, sia il throughput di lettura che quello di scrittura di un'istanza Spanner aumentano in modo lineare man mano che aggiungi 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 non riscontri il rendimento previsto per il tuo carico di lavoro da Spanner, consulta la sezione Risoluzione dei problemi relativi alle regressioni delle prestazioni per informazioni sulle cause comuni.
Spazio di archiviazione ampliato
Per tutte le configurazioni di istanze regionali, a due regioni e multiregionali di Spanner, ogni nodo (1000 unità di elaborazione) di capacità di calcolo nell'istanza ha una capacità di archiviazione aumentata di 10 TiB.
Prestazioni per carichi di lavoro tipici
Tutte le configurazioni delle istanze Spanner hanno prestazioni migliorate e offrono una velocità effettiva maggiore.
Prestazioni per le configurazioni regionali
Ogni 1000 unità di elaborazione (1 nodo) di capacità di calcolo può fornire le seguenti prestazioni di picco (al 100% della CPU) in una configurazione di istanza regionale:
Letture di picco (QPS per regione) | Scritture di picco (QPS totale) | Picco di scritture che utilizzano scritture ottimizzate per il throughput (QPS totale) | ||
---|---|---|---|---|
SSD: 22.500 HDD: 1500 |
o | SSD: 3500 HDD: 3500 |
SSD: 22.500 HDD: 22.500 |
Per le configurazioni di istanze regionali che consentono repliche di sola lettura facoltative, la replica di sola lettura facoltativa può supportare 7500 letture al secondo aggiuntive per l'archiviazione SSD e 500 letture al secondo per l'archiviazione HDD.
Rendimento per le configurazioni a due regioni
Ogni 1000 unità di elaborazione (1 nodo) di capacità di calcolo può fornire le seguenti prestazioni di picco (al 100% della CPU) in una configurazione di istanza a doppia regione. Utilizza le scritture ottimizzate per la velocità effettiva per aumentare la velocità effettiva di scrittura oltre i numeri nella tabella.
Nome della configurazione di base | Letture di picco approssimative (QPS per regione) | Scritture di picco approssimative (QPS totale) |
---|---|---|
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 di lettura vengono fornite per regione (perché le letture possono essere eseguite da qualsiasi luogo), mentre le indicazioni di scrittura riguardano l'intera configurazione. Le indicazioni di lettura e scrittura presuppongono che tu stia leggendo e scrivendo singole righe a 1 kB di dati per riga.
Prestazioni per le configurazioni multiregionali
Ogni configurazione di istanza multiregionale di Spanner ha caratteristiche di rendimento leggermente diverse in base alla topologia di replica. Utilizza scritture ottimizzate per il throughput per aumentare il throughput di scrittura oltre i numeri nella tabella.
Ogni 1000 unità di elaborazione (1 nodo) di capacità di calcolo può fornire le seguenti prestazioni di picco (al 100% della CPU):
Nome della configurazione di base | Letture di picco approssimative (QPS per regione) | Scritture di picco approssimative (QPS totale) |
---|---|---|
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-east1 7500 in us-west1 e us-west2 HDD: 1000 in us-central1 e us-east1 500 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-west1
eus-west2
forniscono solo la metà delle prestazioni QPS perché contengono una replica per regione anziché due.
Le indicazioni di lettura vengono fornite per regione (perché le letture possono essere eseguite da qualsiasi luogo), mentre le indicazioni di scrittura riguardano l'intera configurazione. Le indicazioni di lettura e scrittura presuppongono che tu stia leggendo e scrivendo singole righe a 1 kB di dati per riga.
Esegui i tuoi workload tipici su Spanner
Quando pianifichi la capacità, esegui sempre i tuoi carichi di lavoro tipici su un'istanza Spanner, in modo da poter determinare la migliore allocazione delle risorse per le tue applicazioni. PerfKit Benchmarker di Google utilizza
YCSB per il benchmarking dei servizi cloud. Puoi
seguire il tutorial di PerfKit Benchmarker per Spanner
per creare test per i tuoi carichi di lavoro. In questo modo, 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, dimensioni dei dati delle righe)
- Pattern di accesso ai dati (distribuzione chiave di riga)
- Combinazione di letture e scritture
- Tipo e complessità delle query
Riprodurre i numeri del benchmark
Per riprodurre i numeri di benchmark, segui il
tutorial su benchmarking di Spanner con PerfKit Benchmarker
utilizzando i file yaml
corrispondenti nella cartella throughput_benchmark
.
Per eseguire il benchmark delle istanze in una configurazione di istanza che ha subito miglioramenti delle prestazioni, assicurati che i test vengano eseguiti in una di queste configurazioni di istanza migliorate.
Protezione da errori a livello di zona e di regione
Quando esegui i carichi di lavoro in produzione, è importante eseguire il provisioning di una capacità di calcolo sufficiente per continuare a gestire il traffico in caso di perdita di un'intera zona (per le istanze regionali) o di un'intera regione (per le istanze multiregionali e a doppia regione). Per ulteriori informazioni sulla CPU massima consigliata, consulta avvisi per l'utilizzo elevato della CPU.
Passaggi successivi
- Scopri come progettare uno schema Spanner.
- Scopri come monitorare il rendimento di Spanner.
- Scopri come risolvere i problemi relativi a Key Visualizer.
- Scopri di più sui prezzi di Spanner.