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 ai database PostgreSQL.
Miglioramenti delle prestazioni e dello spazio di archiviazione
I miglioramenti delle prestazioni e dello spazio di archiviazione saranno implementati per tutti Istanza di Spanner a livello di una o più regioni configurazione. Per usufruire di questi miglioramenti, che vengono offerti senza costi aggiuntivi, non è necessario apportare modifiche all'applicazione o configurare manualmente nulla nelle istanze Spanner. Questi miglioramenti delle prestazioni si traducono in una maggiore velocità effettiva e una latenza inferiore nei nodi Spanner sia nelle configurazioni di istanze regionali che multiregionali. Tutte le configurazioni delle istanze una maggiore velocità effettiva e alcune configurazioni di istanze archiviazione.
Aumento della velocità effettiva delle prestazioni
Tutte le configurazioni delle istanze Spanner hanno prestazioni migliorate e offrono una maggiore velocità in uscita. La tabella seguente fornisce le informazioni approssimative velocità effettiva (query al secondo) per l'istanza Spanner configurazioni:
Tipo di configurazione istanza | Picco letture (QPS per regione) | Scritture di picco (QPS totali) | Picco di scritture con scritture ottimizzate per la velocità effettiva (QPS totale) | ||
---|---|---|---|---|---|
A livello di regione | 22.500 | o | 3.500 | 22.500 | |
A due regioni e multiregione | 15.000 | o | 2700 | 15.000 |
Per informazioni sulla velocità effettiva delle prestazioni di queste istanze configurazioni, consulta Prestazioni per carichi di lavoro tipici.
Le indicazioni di lettura vengono fornite per regione (perché le letture possono essere fornite da qualsiasi regione di lettura/scrittura o di sola lettura), mentre le indicazioni di scrittura riguardano l'intero 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.
Le prestazioni di scrittura di picco utilizzando le scritture ottimizzate per la velocità effettiva vengono raggiunte utilizzando un ritardo di raggruppamento di 100 ms.
In generale, sia il throughput in lettura che quello in scrittura di un'istanza Spanner scalano in modo lineare man mano che aggiungi altra capacità di calcolo (nodi o unità di elaborazione) all'istanza. Ad esempio, se uno Spanner a regione singola con 2 nodi può fornire fino a 45.000 letture al secondo, un'istanza Spanner a regione singola con 4 nodi può fornire fino a 90.000 letture al secondo.
Se non visualizzi le prestazioni previste per il carico di lavoro da Spanner, consulta Risolvere i problemi di regressione delle prestazioni. per informazioni sulle cause più comuni.
Spazio di archiviazione ampliato
Per la maggior parte delle configurazioni di istanze regionali e multiregionali di Spanner, ogni nodo (1000 unità di elaborazione) di capacità di calcolo nell'istanza ha una capacità di archiviazione aumentata di 10 TB. Lo spazio di archiviazione aggiuntivo è disponibile per tutte le configurazioni di istanze Spanner, ad eccezione di:
Configurazioni delle istanze regionali |
|
---|---|
Configurazioni di istanze multiregione |
|
Prestazioni per carichi di lavoro tipici
Tutte le configurazioni delle istanze Spanner hanno prestazioni migliorate e offrono una maggiore velocità in uscita.
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 istanze regionali:
Letture di picco (QPS per regione) | Picco scritture (QPS totale) | Scritture di picco utilizzando le scritture ottimizzate per la velocità effettiva (QPS totale) | ||
---|---|---|---|---|
22.500 | o | 3.500 | 22.500 |
Per le configurazioni di istanze a livello di regione che consentono repliche di sola lettura facoltative, la replica di sola lettura facoltativa può supportare altre 5000 letture al secondo.
Prestazioni per le configurazioni a due regioni
Ogni 1000 unità di elaborazione (1 nodo) di capacità di calcolo può fornire con prestazioni di picco (al 100% di CPU) in una configurazione di istanze a due regioni. Utilizza scritture ottimizzate per la velocità effettiva per aumentare la velocità effettiva di scrittura oltre i numeri nella tabella.
Nome configurazione di base | Picco letture approssimative (QPS per regione) | Picco di scritture approssimative (QPS totale) |
---|---|---|
dual-region-australia1 |
15.000 | 2.700 |
dual-region-germany1 |
15.000 | 2.700 |
dual-region-india1 |
15.000 | 2.700 |
dual-region-japan1 |
15.000 | 2.700 |
Le indicazioni per la lettura vengono fornite per regione (poiché le letture possono essere eseguite da qualsiasi luogo), mentre le indicazioni per la scrittura riguardano l'intera configurazione. Lettura e scrittura le indicazioni presuppongono che tu stia leggendo e scrivendo righe singole a 1 kB di dati per riga di comando.
Prestazioni per le configurazioni multiregione
Ogni configurazione di istanza Spanner multiregionale ha con diverse caratteristiche di prestazioni in base alla topologia di replica. Utilizza le scritture ottimizzate per la velocità effettiva per aumentare la velocità effettiva 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 (al 100% di CPU):
Nome configurazione di base | Picco letture approssimative (QPS per regione) | Picco di scritture approssimative (QPS totale) |
---|---|---|
asia1 |
15.000 | 2.700 |
asia2 |
15.000 | 2.700 |
eur3 |
15.000 | 2.700 |
eur5 |
15.000 | 2.700 |
eur6 |
15.000 7.500 per ogni replica di sola lettura facoltativa |
2.700 |
nam3 |
15.000 7.500 per ogni replica di sola lettura facoltativa |
2.700 |
nam6 |
15.000 in us-central1 e us-east1 7.500 in us-west1 e us-west2 [1] |
2.700 |
nam7 |
15.000 7.500 per ogni replica di sola lettura facoltativa |
2700 |
nam8 |
15.000 | 2.700 |
nam9 |
15.000 | 2.700 |
nam10 |
15.000 | 2.700 |
nam11 |
15.000 7.500 per ogni replica di sola lettura facoltativa |
2700 |
nam12 |
15.000 | 2.700 |
nam13 |
15.000 | 2.700 |
nam14 |
15.000 | 2.700 |
nam15 |
15.000 | 2.700 |
nam16 |
15.000 | 2.700 |
nam-eur-asia1 |
15.000 | 1500 |
nam-eur-asia3 |
15.000 | 1500 |
- [1]:
us-west1
eus-west2
forniscono solo la metà delle prestazioni di QPS poiché contengono una replica anziché due.
Le indicazioni per la lettura vengono fornite per regione (poiché le letture possono essere eseguite da qualsiasi luogo), mentre le indicazioni per la scrittura riguardano l'intera configurazione. Le indicazioni per la lettura e la scrittura presuppongono che tu stia leggendo e scrivendo singole righe con 1 KB di dati per riga.
Esegui i tuoi carichi di lavoro tipici su Spanner
Esegui sempre i tuoi carichi di lavoro tipici su un'istanza Spanner
quando si pianifica la capacità, in modo da poter capire
la migliore allocazione delle risorse
per le tue applicazioni. PerfKit Benchmarker di Google utilizza
YCSB per eseguire il benchmark dei servizi cloud. Puoi seguire il tutorial su PerfKitBenchmarker per Spanner per creare test per i tuoi carichi di lavoro. A questo scopo, devi ottimizzare i parametri nei file yaml
di configurazione del benchmark per assicurarti che il benchmark generato rifletta le seguenti caratteristiche nell'ambiente di produzione:
- Dimensione totale del database
- Schema (ad esempio: dimensione della chiave di riga, numero di colonne, dimensioni dei dati di riga)
- Pattern di accesso ai dati (distribuzione delle chiavi di riga)
- Combinazione di letture e scritture
- Tipo e complessità delle query
Riprodurre i valori di benchmark
Per riprodurre i numeri del benchmark, segui il
tutorial sul benchmark di Spanner con PerfKit Benchmarker
utilizzando i file yaml
corrispondenti nella
directory throughput_benchmark.
Per eseguire il benchmark delle istanze in una configurazione di istanze che ha subito miglioramenti delle prestazioni, assicurati che i test vengano eseguiti in una di queste configurazioni di istanze migliorate.
Protezione da errori a livello di zona e di regione
Quando esegui i carichi di lavoro in produzione, è importante eseguire il provisioning e la capacità di calcolo necessaria per continuare a gestire il traffico in caso di perdita un'intera zona (per istanze a livello di regione) o un'intera regione (per due regioni e istanze multiregionali). Per ulteriori informazioni sulla CPU massima consigliata, consulta gli avvisi per l'utilizzo elevato della CPU.
Passaggi successivi
- Scopri come progettare uno schema Spanner.
- Scopri come monitorare le prestazioni di Spanner.
- Scopri come risolvere i problemi relativi a KeyVisualizer.
- Scopri di più sui prezzi di Spanner.