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
sia quattro volte più grande del tipo highmem-medium
in termini di dimensioni, le prestazioni non sono quattro volte superiori, poiché le prestazioni di Valkey 7.2 non aumentano in modo lineare quando le vCPU vengono aggiunte a nodi sempre più grandi (scaling up). Per ottenere un miglior rendimento in termini di prezzo, devi eseguire lo scaling out 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 chiavi scrivibile predefinito | Capacità totale del nodo |
---|---|---|
shared-core-nano | 1,12 GB | 1,4 GB |
standard-small | 5,2 GB | 6,5 GB |
highmem-medium | 10,4 GB | 13 GB |
highmem-xlarge | 46,4 GB | 58 GB |
Memorystore riserva automaticamente una parte della capacità dell'istanza per contribuire a evitare errori di esaurimento della memoria (OOM). 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: anche se consigliamo di utilizzare le impostazioni predefinite, hai la possibilità di regolare la quantità di spazio di archiviazione riservato utilizzando la configurazione
maxmemory
. Per informazioni sumaxmemory
, consulta Configurazioni delle istanze supportate.Quanto spazio di archiviazione hai a disposizione? Fai riferimento alla colonna Capacità dello spazio chiavi scrivibili predefinito della tabella precedente. 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 massimo di 1, 12 GB e non può essere modificato 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-small | 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% |
Specifiche dell'istanza
Questa sezione mostra le capacità minime e massime delle istanze in base alla forma, al tipo di nodo e al numero di repliche dell'istanza. Memorystore for Valkey supporta solo le istanze in modalità cluster.
Capacità minima scrivibile in base alla forma minima dell'istanza
Tipo e dimensioni del nodo | Capacità minima di scrittura utilizzando la forma dell'istanza minima di 3 nodi1 |
---|---|
shared-core-nano - 1,4 GB | 4,2 GB |
standard-small - 6,5 GB | 19,5 GB |
highmem-medium - 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 scrivibile non è influenzata dal numero di repliche scelto.
Capacità massima di scrittura in base alla forma dell'istanza
Tipo e dimensioni del nodo | Capacità massima data dalla forma dell'istanza di 250 nodi principali e 0 repliche per nodo | Capacità massima in base alla 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 | 1625 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 |
Selezionare una forma dell'istanza con 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 alla gcloud CLI per creare istanze con 1, 2 o 4 shard.
Le istanze create con 3, 5 o più shard non possono essere ridimensionate in modo da avere 1, 2 o 4 shard.
Le istanze create con 1, 2 o 4 shard sono nella fase di lancio dell'anteprima e sono soggette alle limitazioni della fase di lancio dell'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 con 4 shard a 8 shard e tornare a 4 shard.
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 determinare le dimensioni delle istanze con un buffer (o "headroom") per i picchi di carico di lavoro o il traffico imprevisto. Per ulteriori indicazioni, consulta le best practice.
Endpoint delle istanze
Questa sezione spiega i due endpoint di ogni 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 di un numero di porta. Per istruzioni su come trovare l'endpoint di rilevamento dell'istanza, consulta Visualizzare l'endpoint di rilevamento dell'istanza.
Il tuo cliente lo utilizza anche per il rilevamento dei nodi. Il client utilizza l'endpoint di rilevamento per recuperare la topologia dei nodi dell'istanza al fine di avviare i 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 cliente si occupa quindi degli aggiornamenti e dei reindirizzamenti automaticamente senza che sia richiesta alcuna altra modifica all'applicazione. Per informazioni sul comportamento e sulle best practice di rilevamento dei client, consulta Rilevamento dei client.
L'endpoint di discovery è altamente disponibile perché è supportato da più nodi in più zone per fornire la topologia del nodo. La topologia di pubblicazione tramite l'endpoint è solida anche in caso di errori o aggiornamenti dei nodi di backend.
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 riutilizzati 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 supposizioni che gli endpoint dei nodi rimangano invariati per una determinata istanza.
Endpoint dati
Ogni istanza ha anche un endpoint di dati Private Service Connect utilizzato da Memorystore per Valkey per la connessione dei client. Non devi connetterti direttamente a questo endpoint, ma Memorystore per Valkey lo utilizza per connettere il tuo client ai nodi della tua istanza.