Questa pagina descrive le specifiche di istanze e nodi per le istanze di Memorystore for Valkey. Per istruzioni su come creare un'istanza, consulta Creare istanze.
Scelta di un tipo di nodo
I nodi dell'istanza utilizzano tutti lo stesso tipo di nodo scelto. Il tipo di nodo migliore per la tua istanza dipende dai tuoi requisiti per prezzo, prestazioni e capacità dello spazio chiavi.
Il tipo di nodo standard-small
ti consente di eseguire il provisioning di istanze di piccole dimensioni e di espandere l'istanza in incrementi più piccoli a costi potenzialmente inferiori rispetto ad altri tipi di nodi. standard-small
offre anche il vantaggio di distribuire lo spazio chiavi su più nodi con un numero totale di vCPU più elevato. Questo offre un rapporto prezzo/prestazioni migliore rispetto a highmem-medium
, a condizione che la capacità dello spazio chiavi totale dei nodi più piccoli sia sufficiente per le tue esigenze di dati.
Ti consigliamo di scegliere il tipo di nodo highmem-xlarge
solo se hai bisogno di una maggiore capacità di istanze rispetto a quella fornita da highmem-medium
. Sebbene
Il tipo di nodo highmem-xlarge
è quattro volte maggiore del
highmem-medium
di dimensioni, il rendimento non è quattro volte superiore,
poiché le prestazioni di Valkey 7.2 non scalano in modo lineare quando si aggiungono vCPU
nodi sempre più grandi (scalando). Per ottenere un miglior rendimento
in termini di prezzo, devi eseguire l'escaling aggiungendo altri nodi a un'istanza.
Specifica del tipo di nodo
La capacità e le caratteristiche del nodo dipendono da quale dei quattro tipi di nodi disponibili scegli:
Capacità dello spazio chiavi e overhead riservato
Tipo di nodo | Capacità dello spazio delle chiavi scrivibile predefinita | Capacità totale dei nodi |
---|---|---|
shared-core-nano | 1,12 GB | 1,4 GB |
standard-small | 5,2 GB | 6,5 GB |
alto-medio | 10,4 GB | 13 GB |
highmem-xlarge | 46,4 GB | 58 GB |
Memorystore mette automaticamente da parte una parte dell'istanza per evitare errori di esaurimento della memoria. In questo modo, la lettura e la scrittura delle chiavi avviene senza problemi. I limiti di memoria e i dettagli dello spazio di archiviazione sono i seguenti:
Personalizzazione dello spazio di archiviazione. Sebbene consigliamo di utilizzare le impostazioni predefinite, puoi regolare la quantità di spazio di archiviazione riservato utilizzando Configurazione di
maxmemory
. Per informazioni sumaxmemory
, consulta Configurazioni delle istanze supportate.Quanto spazio di archiviazione hai a disposizione? Fai riferimento alla Capacità predefinita dello spazio delle chiavi scrivibile della tabella precedente. colonna. Mostra la quantità di spazio di archiviazione disponibile per le tue chiavi per impostazione predefinita.
Massimizzazione dello spazio di archiviazione Se vuoi lo spazio di archiviazione massimo possibile, la colonna Capacità totale dei nodi mostra il limite di spazio di archiviazione quando imposti la configurazione
maxmemory
su 100%. Tuttavia, non consigliamo di scegliere un valoremaxmemory
superiore all'impostazione predefinita.Il tipo di nodo
shared-core-nano
ha un limite fisso di 1, 12 GB e non può può essere modificata con la configurazionemaxmemory
.
Caratteristiche del nodo
Tipo di nodo | Conteggio vCPU | SLA offerto | Clienti massimi | Memoria massima per i client (configurazione maxmemory-clients) |
---|---|---|---|---|
shared-core-nano | 0,5 | No | 5000 | 12% |
standard-piccolo | 2 | Sì | 16.000 (valore predefinito). Il valore massimo è 32.000 | 7% |
highmem-medium | 2 | Sì | 32.000 (valore predefinito). Il valore massimo è 64.000 | 7% |
highmem-xlarge | 8 | Sì | 64.000 | 4% |
Specifica istanza
Questa sezione mostra le capacità minime e massime dell'istanza in base all'istanza forma, tipo di nodo e numero di repliche. Memorystore for Valkey supporta solo in modalità cluster.
Capacità minima in scrittura data la forma minima dell'istanza
Tipo e dimensioni del nodo | Capacità minima di scrittura utilizzando la forma dell'istanza minima di 3 nodi1 |
---|---|
nano con core condiviso - 1,4 GB | 4,2 GB |
standard-small - 6,5 GB | 19,5 GB |
alto/medio - 13 GB | 39 GB |
highmem-xlarge - 58 GB | 174 GB |
1 La capacità di scrittura è la quantità di spazio di archiviazione disponibile per la scrittura delle chiavi. La capacità minima in scrittura non è influenzata dal numero di repliche che scegli.
Capacità massima di scrittura in base alla forma dell'istanza
Tipo e dimensione del nodo | Capacità massima data dalla forma dell'istanza di 250 nodi principali e 0 repliche per nodo | Capacità massima data dalla forma dell'istanza di 125 nodi principali e 1 replica per nodo | Capacità massima data dalla forma dell'istanza di 83 nodi principali e 2 repliche per nodo |
---|---|---|---|
shared-core-nano - 1,4 GB | 350 GB | 175 GB | 116,2 GB |
standard-small - 6,5 GB | 1.625 GB | 812,5 GB | 539,5 GB |
highmem-medium - 13 GB | 3250 GB | 1625 GB | 1079 GB |
highmem-xlarge - 58 GB | 14.500 GB | 7250 GB | 4814 GB |
Selezione di una forma di istanza di 1, 2 o 4 shard
A causa del suo stato di anteprima, la creazione di istanze con 1, 2 o 4 shard presenta i seguenti requisiti e comportamenti:
Per avere 1, 2 o 4 shard, devi creare l'istanza con 1, 2 o 4 shard.
Devi utilizzare l'interfaccia a riga di comando gcloud per creare istanze con 1, 2 o 4 shard.
Le istanze create con 3 shard, 5 shard o più non possono essere scalate 1, 2 o 4 shard.
Le istanze create con 1, 2 o 4 shard sono in fase di avvio in anteprima e soggetta a limitazioni della fase di lancio in anteprima.
Le istanze create con 1, 2 o 4 shard possono essere scalate a qualsiasi altra forma di istanza tutte le volte che vuoi. Ad esempio, puoi scalare un'istanza da 4 a 8 shard e viceversa.
Prestazioni
L'utilizzo dello strumento di benchmarking memtier OSS nella regione us-central1
ha generato 120.000-130.000 operazioni al secondo per nodo con 2 vCPU (standard-small
e highmem-medium
) con una latenza di microsecondi e dimensioni dei dati di 1 KiB.
Ti consigliamo di eseguire il benchmarking con carichi di lavoro reali o sintetici simili al traffico di produzione. Inoltre, ti consigliamo di dimensionare le istanze con un buffer (o "headroom") per picchi dei carichi di lavoro o traffico imprevisto. Per ulteriori indicazioni, consulta le best practice.
Endpoint delle istanze
Questa sezione illustra i due endpoint di cui dispone ciascuna istanza.
Endpoint di rilevamento
Ogni istanza ha un endpoint di rilevamento a cui si connette il client. Si tratta di una combinazione di un indirizzo IP e un numero di porta. Per istruzioni su come trovare l'endpoint di rilevamento dell'istanza, consulta Visualizzare l'endpoint di rilevamento dell'istanza.
Il client lo utilizza anche per il rilevamento dei nodi. Il client utilizza l'endpoint di rilevamento per recuperare la topologia dei nodi della tua istanza per eseguire il bootstrap dei client di terze parti e mantenerli aggiornati in stato stabile. La topologia del nodo risultante fornisce gli endpoint dei nodi (combinazioni di IP e porte) da memorizzare nella cache in memoria dal client di terze parti. Il tuo client si occupa degli aggiornamenti e dei reindirizzamenti in modo automatico, senza dover apportare altre modifiche all'applicazione. Per informazioni sul comportamento e sulle best practice di rilevamento dei client, consulta Rilevamento dei client.
L'endpoint di rilevamento è ad alta disponibilità perché è supportato da più nodi in più zone per fornire la topologia dei nodi. La topologia di distribuzione attraverso l'endpoint è solida anche in caso di errori dei nodi di backend o aggiornamenti dei nodi.
L'endpoint discovery ha il seguente comportamento:
L'endpoint di discovery dell'istanza rimane invariato per tutto il ciclo di vita dell'istanza, anche durante la manutenzione o qualsiasi altra azione intrapresa, come il ridimensionamento o la modifica del numero di repliche.
Gli endpoint dei nodi possono cambiare e possono essere riciclati man mano che i nodi vengono aggiunti e rimossi nel tempo. Idealmente, dovresti utilizzare un client di terze parti in grado di gestire automaticamente queste modifiche tramite aggiornamenti e reindirizzamenti della topologia. Esempi di client di terze parti sono disponibili nella pagina Esempi di codice della libreria client. L'applicazione non deve avere dipendenze o ipotesi secondo cui gli endpoint dei nodi rimarranno invariati per una determinata istanza.
Endpoint dati
Ogni istanza ha anche un endpoint dati Private Service Connect Memorystore for Valkey utilizza per la connessione client. Non devi connetterti direttamente a questo endpoint, ma Memorystore per Valkey lo utilizza per connettere il tuo client ai nodi della tua istanza.