Questa pagina descrive le prestazioni approssimative che Spanner può fornire in condizioni ottimali, i fattori che possono influire sulle prestazioni e i suggerimenti per i test e la risoluzione dei 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 in fase di implementazione in tutte le configurazioni di istanze a livello di regione e multiregione di Spanner. Questi miglioramenti delle prestazioni dovrebbero comportare una velocità effettiva più elevata e una latenza migliore nei nodi Spanner nelle configurazioni di istanze a livello di regione e multiregionale. Velocità effettiva e spazio di archiviazione maggiori sono disponibili in determinate configurazioni di istanze. Non è necessario apportare modifiche all'applicazione o configurare manualmente nulla nelle istanze Spanner per sfruttare questi miglioramenti, offerti senza costi aggiuntivi.
Aumento della velocità effettiva delle prestazioni
La tabella seguente fornisce la velocità effettiva approssimativa (query al secondo) per le configurazioni di istanze con prestazioni migliorate. Ogni nodo (1000 unità di elaborazione) di capacità di calcolo nell'istanza ha una velocità effettiva fino al 50% superiore.
Tipo di configurazione dell'istanza | Picco letture (QPS per regione) | Picco scritture (QPS totale) | |
---|---|---|---|
A livello di regione | 22.500 | o | 3500 |
Più regioni | 15.000 | o | 2700 |
Una maggiore velocità effettiva delle prestazioni è disponibile per tutte le configurazioni di istanze Spanner, ad eccezione di:
Configurazioni dell'istanza a livello di regione:
us-west4
Configurazioni di istanze su più regioni:
nam10
,nam-eur-asia1
Per informazioni sulla velocità effettiva delle prestazioni di queste configurazioni delle istanze, consulta Prestazioni per carichi di lavoro tipici.
Le indicazioni di lettura vengono fornite in base alla regione (perché le letture possono essere fornite da qualsiasi regione di lettura/scrittura o di sola lettura), mentre le indicazioni di scrittura riguardano l'intera configurazione. La guida nella lettura presuppone che tu stia leggendo singole righe da 1 kB. La guida alla scrittura presuppone che tu stia scrivendo singole righe con 1 kB di dati per riga.
In generale, sia la velocità effettiva di lettura che quella di scrittura di un'istanza Spanner scalano in modo lineare quando si aggiunge più capacità di calcolo (nodi o unità di elaborazione) all'istanza. Ad esempio, se un'istanza Spanner a regione singola con due nodi può fornire fino a 45.000 letture al secondo, un'istanza Spanner a una singola regione con 4 nodi può fornire fino a 90.000 letture al secondo.
Se non visualizzi le prestazioni desiderate per il tuo carico di lavoro da Spanner, consulta la sezione sulla risoluzione dei problemi di regressione delle prestazioni per informazioni sulle cause più comuni.
Spazio di archiviazione ampliato
Per alcune configurazioni di istanze Spanner regionali e multiregionali, ogni nodo (1000 unità di elaborazione) di capacità di calcolo nell'istanza ha una capacità di archiviazione aumentata di 10 TB. La tabella seguente fornisce le configurazioni dell'istanza con lo spazio di archiviazione disponibile maggiore:
Configurazioni delle istanze a livello di regione |
|
---|---|
Configurazioni di istanze su più regioni |
|
Prestazioni per carichi di lavoro tipici
Se la configurazione dell'istanza che stai utilizzando non ha subito una velocità effettiva migliorata, ogni nodo (1000 unità di elaborazione) di capacità di calcolo nell'istanza può fornire la seguente velocità effettiva approssimativa (query al secondo):
Tipo di configurazione dell'istanza | Picco letture (QPS per regione) | Picco scritture (QPS totale) | |
---|---|---|---|
A livello di regione | 15.000 | o | 2300 |
Più regioni (suddivisione per configurazione di base) | 10.000 | o | 1800 |
Per le configurazioni di istanze a livello di regione che consentono repliche facoltative di sola lettura, la replica facoltativa di sola lettura può supportare ulteriori 5000 letture al secondo.
Prestazioni per configurazioni multiregionali
Ogni configurazione di istanza multiregionale di Spanner ha caratteristiche delle prestazioni leggermente diverse in base alla topologia di replica.
Ogni 1000 unità di elaborazione (1 nodo) di capacità di calcolo può fornire le seguenti prestazioni di picco (con il 100% della CPU):
Nome configurazione di base | Letture massime approssimative (QPS per regione) | Valori approssimativi di scrittura massima (QPS totale) |
---|---|---|
asia1 |
15.000 | 2700 |
asia2 |
15.000 | 2700 |
eur3 |
15.000 | 2700 |
eur5 |
15.000 | 2700 |
eur6 |
15.000 7500 per ogni replica di sola lettura facoltativa |
2700 |
nam3 |
15.000 7500 per ogni replica di sola lettura facoltativa |
2700 |
nam6 |
15.000 in us-central1 e us-east1 7500 in us-west1 e us-west2 [1] |
2700 |
nam7 |
15.000 7500 per ogni replica di sola lettura facoltativa |
2700 |
nam8 |
15.000 | 2700 |
nam9 |
15.000 | 2700 |
nam10 |
10.000 | 1800 |
nam11 |
15.000 7500 per ogni replica di sola lettura facoltativa |
2700 |
nam12 |
15.000 | 2700 |
nam13 |
15.000 | 2700 |
nam14 |
15.000 | 2700 |
nam15 |
15.000 | 2700 |
nam-eur-asia1 |
10.000 | 1000 |
nam-eur-asia3 |
15.000 | 1500 |
- [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 in base alla regione (perché le letture possono essere fornite da qualsiasi luogo), mentre le indicazioni di scrittura riguardano l'intera configurazione. Le linee guida relative alla lettura e scrittura presuppongono che tu stia leggendo e scrivendo singole righe con una dimensione di 1 kB per riga.
Esegui i tuoi carichi di lavoro tipici su Spanner
Esegui sempre i tuoi carichi di lavoro tipici su un'istanza Spanner quando esegui la pianificazione della capacità, in modo da poter capire la migliore allocazione delle risorse per le tue applicazioni. PerfKit Benchmarker di Google utilizza YCSB per confrontare i servizi cloud. Puoi
seguire il tutorial per PerfKitBenchmarker per Spanner
per creare test per i tuoi carichi di lavoro. Durante questa operazione, devi ottimizzare i parametri nei file yaml
di configurazione di benchmarking per assicurarti che il benchmark generato rifletta le seguenti caratteristiche nell'ambiente di produzione:
- Dimensione totale del database
- Schema (ad esempio: dimensioni della chiave di riga, numero di colonne, dimensioni dei dati di riga)
- Pattern di accesso ai dati (distribuzione chiave di riga)
- Combinazione di letture e scritture
- Tipo e complessità delle query
Riprodurre i valori di benchmark
Per riprodurre i valori dei benchmark, segui il tutorial per il benchmarking di Spanner con PerfKit Benchmarker utilizzando i file yaml
corrispondenti nella cartella throughput_benchmark.
Per eseguire il benchmark delle istanze in una configurazione dell'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 capacità di calcolo sufficiente per continuare a gestire il traffico in caso di perdita di un'intera zona (per le istanze a livello di regione) o di un'intera regione (per le istanze multiregionali). Consulta gli avvisi per un utilizzo elevato della CPU per ulteriori informazioni sulla CPU massima consigliata.
Passaggi successivi
- Scopri come progettare uno schema Spanner.
- Scopri come monitorare le prestazioni di Spanner.
- Scopri come risolvere i problemi relativi a Key Visualizer.
- Scopri di più sui prezzi di Spanner.