Replica e prestazioni
L'attivazione della replica influisce sulle prestazioni di un'istanza Bigtable. L'effetto è positivo per alcune metriche e negativo per altre. Prima di decidere di attivare la replica, devi comprendere i potenziali impatti sul rendimento.
Velocità effettiva di lettura
La replica può migliorare la velocità in lettura, in particolare quando utilizzi il routing multi-cluster. Inoltre, la replica può ridurre la latenza di lettura posizionando i dati Bigtable geograficamente più vicino agli utenti della tua applicazione.
Velocità effettiva di scrittura
Sebbene la replica possa migliorare la disponibilità e le prestazioni di lettura, non aumenta la velocità effettiva di scrittura. Una scrittura in un cluster deve essere replicata in tutti gli altri cluster dell'istanza. Di conseguenza, ogni cluster utilizza risorse della CPU per estrarre le modifiche dagli altri cluster. La velocità effettiva di scrittura potrebbe addirittura diminuire perché la replica richiede un lavoro aggiuntivo da parte di ciascun cluster.
Ad esempio, immagina di avere un'istanza con un solo cluster e che il cluster abbia 3 nodi:
Se aggiungi nodi al cluster, l'effetto sulla velocità effettiva di scrittura è diverso rispetto a quello che si ottiene se attivi la replica aggiungendo un secondo cluster di 3 nodi all'istanza.
Aggiunta di nodi al cluster originale: puoi aggiungere 3 nodi al cluster, per un totale di 6 nodi. La velocità effettiva in scrittura dell'istanza raddoppia, ma i dati dell'istanza sono disponibili in una sola zona:
Con la replica: in alternativa, puoi aggiungere un secondo cluster con 3 nodi, per un totale di 6 nodi. Ora l'istanza scrive ogni dato due volte: la prima volta quando la scrittura viene ricevuta e di nuovo quando viene replicata nell'altro cluster. La velocità effettiva in scrittura non aumenta e potrebbe diminuire, ma hai il vantaggio di avere i tuoi dati disponibili in due zone diverse:
In questi esempi, l'istanza con un solo cluster può gestire il doppio del throughput scrittura dell'istanza replicata, anche se i cluster di ogni istanza hanno un totale di 6 nodi.
Latenza di replica
Quando utilizzi il routing a più cluster, la replica per Bigtable è a coerenza finale. Come regola generale, la replica dei dati su distanze maggiori richiede più tempo. I cluster replicati in regioni diverse avranno in genere una latenza di replica più elevata rispetto ai cluster replicati nella stessa regione.
Utilizzo dei nodi
Come spiegato in Velocità effettiva di scrittura, quando un'istanza utilizza la replica, ogni cluster dell'istanza deve gestire il lavoro di replica oltre al carico ricevuto dalle applicazioni. Per questo motivo, un cluster in un'istanza multi-cluster spesso richiede più nodi di un cluster in un'istanza a cluster singolo con traffico simile.
Profili delle app e routing del traffico
A seconda del caso d'uso, utilizzerai uno o più profili dell'app per instradare il traffico Bigtable. Ogni profilo dell'app utilizza il routing a cluster multipli o singolo. La scelta del routing può influire sulle prestazioni.
Il routing a cluster multipli può ridurre al minimo la latenza. Un profilo dell'app con routing multi-cluster instrada automaticamente le richieste al cluster più vicino in un'istanza dal punto di vista dell'applicazione e le scritture vengono poi replicate negli altri cluster dell'istanza. Questa scelta automatica della distanza più breve consente di ottenere la latenza più bassa possibile.
Un profilo dell'app che utilizza il routing a cluster singolo può essere ottimale per determinati casi d'uso, come la separazione dei carichi di lavoro o la semantica di lettura dopo scrittura su un singolo cluster, ma non riduce la latenza come fa il routing a più cluster.
Per capire come configurare i profili dell'app per questi e altri casi d'uso, consulta Esempi di impostazioni di replica.
Inserire intervalli di righe
Se possibile, evitare di inserire un intervallo di righe in un'istanza che utilizza la replica perché l'operazione è lenta e l'utilizzo della CPU aumenta durante l'operazione.
Passaggi successivi
- Scopri di più sui failover.
- Esplora le opzioni di routing.