Questa pagina fornisce dettagli su come ottimizzare le prestazioni di Google Cloud NetApp Volumes.
Prima di iniziare
Prima di apportare modifiche ai volumi per ottimizzare il rendimento, consulta considerazioni sul rendimento.
Regolare le impostazioni del volume
Puoi ottimizzare le prestazioni regolando le seguenti impostazioni del volume:
Aumenta la capacità del volume: puoi aumentare la capacità del volume del livello di servizio Premium, Extreme o Standard per migliorare il throughput massimo del volume. Per i volumi del livello di servizio Flex, aumenta invece la capacità dei pool di archiviazione.
Esegui l'upgrade del livello di servizio: puoi eseguire l'upgrade dei volumi con livello di servizio Premium al livello di servizio Extreme per migliorare il throughput. Ti consigliamo di assegnare il volume a un pool di archiviazione diverso con un livello di servizio diverso.
L'aumento della capacità del volume e l'upgrade dei livelli di servizio non influiscono sul caricamento delle attività I/O in esecuzione sul volume e non influiscono in alcun modo sull'accesso al volume.
Modificare il client
Puoi migliorare il rendimento modificando le seguenti impostazioni sul client:
Posiziona i client in modo da raggrupparli: i risultati della latenza sono direttamente influenzati dalle funzionalità e dalla posizione del client. Per risultati ottimali, posiziona il client nella stessa regione del volume o il più vicino possibile. Verifica l'impatto a livello di zona testando la latenza da un client in ogni zona e utilizza la zona con la latenza più bassa.
Configura la larghezza di banda di rete di Compute Engine: le funzionalità di rete delle macchine virtuali Compute Engine dipendono dal tipo di istanza utilizzato. In genere, le istanze più grandi possono aumentare il throughput della rete. Ti consigliamo di selezionare una macchina virtuale client con una larghezza di banda di rete appropriata, selezionare l'interfaccia di rete Google Virtual NIC (gVNIC) e attivare le prestazioni
Tier_1
. Per ulteriori informazioni, consulta la documentazione di Compute Engine sulla larghezza di banda della rete.Apri più sessioni TCP: se la tua applicazione richiede un throughput elevato, potresti saturare la singola sessione TCP (Transmission Control Protocol) alla base di una normale sessione NFS e SMB. In questi casi, aumenta il numero di sessioni TCP utilizzate dalla connessione NFS e SMB.
Utilizza una delle seguenti schede per modificare il client in base al tipo di client:
Linux
Tradizionalmente, un client NFS utilizza una singola sessione TCP per tutti i file system montati NFS che condividono un endpoint di archiviazione. L'utilizzo dell'opzione di montaggio
nconnect
consente di aumentare il numero di sessioni TCP supportate fino a un massimo di 16.Ti consigliamo le seguenti best practice per modificare il tipo di client Linux per sfruttare appieno
nconnect
:Aumenta il numero di sessioni TCP con
nconnect
: ogni sessione TCP aggiuntiva aggiunge una coda per 128 richieste in attesa, migliorando la potenziale concorrenza.Imposta il parametro
sunrpc.max_tcp_slot_table_entries
:sunrpc.max_tcp_slot_table_entries
è un parametro di aggiustamento a livello di connessione che puoi modificare per controllare le prestazioni. Ti consigliamo di impostaresunrpc.max_tpc_slot_table_enteries
su 128 richieste o per connessione e di non superare i 10.000 slot per tutti i client NFS all'interno di un singolo progetto che si connette ai volumi NetApp. Per impostare il parametrosunrpc.max_tcp_slot_table_entries
, aggiungilo al file/etc/sysctl.conf
e ricarica il file dei parametri utilizzando il comandosysctl -p
.Imposta il valore massimo supportato per sessione su 180: a differenza di NFSv3, i client NFSv4.1 definiscono la relazione tra il client e il server nelle sessioni. Sebbene NetApp Volumes supporti fino a 128 richieste in sospeso per connessione utilizzando NFSv3, NFSv4.1 è limitato a 180 richieste in sospeso per sessione. Per impostazione predefinita, i client NFSv4.1 Linux hanno un valore di
64 max_session_slots
per sessione, ma puoi ottimizzare questo valore in base alle tue esigenze. Ti consigliamo di modificare il valore massimo supportato per sessione impostandolo su 180.Per ottimizzare
max_session_slots
, crea un file di configurazione in/etc/modprobe.d
. Assicurati che non vengano visualizzate virgolette (" ") in linea. In caso contrario, l'opzione non viene applicata.$ echo "options nfs max_session_slots=180" > /etc/modprobe/d/nfsclient/conf $ reboot Use the systool -v -m nfs command to see the current maximum in use by the client. For the command to work, at least one NFSv4.1 mount must be in place. $ systool -v -v nfs { Module = "nfs" … Parameters: … Max_session_slots = "63" <- … }
Il seguente grafico di confronto
nconnect
NFS mostra l'impatto che l'utilizzo della configurazione nconnect può avere su un carico di lavoro NFS. Queste informazioni sono state acquisite utilizzando Fio con le seguenti impostazioni:Workload di lettura al 100%
Dimensione del blocco di 8 KiB rispetto a un singolo volume
Macchina virtuale
n2-standard-32
che utilizza il sistema operativo Red Hat 9Set di lavoro di 6 TiB
L'utilizzo di un valore
nconnect
pari a 16 ha generato un rendimento cinque volte superiore rispetto a quando non era attivato.Windows
Per i client basati su Windows, il client può utilizzare SMB Multichannel con RSS (Receive Side Scaling) per aprire più connessioni TCP. Per ottenere questa configurazione, la macchina virtuale deve avere un adattatore di rete allocato che supporti RSS. Ti consigliamo di impostare RSS su quattro o acht valori, tuttavia qualsiasi valore superiore a 1 dovrebbe aumentare il throughput.
Il seguente grafico mostra la differenza che l'utilizzo della configurazione RSS può avere su un carico di lavoro SMB. Queste informazioni sono state acquisite utilizzando Fio con le seguenti impostazioni:
Workload di lettura al 100%
Dimensione del blocco di 8 KiB rispetto a un singolo volume
Singola macchina virtuale
n2-standard-32
che esegue un sistema operativo Windows 2022Set di lavoro di 6 TiB
Sono stati eseguiti otto job con solo l'opzione RSS del client SMB che variava tra un'esecuzione di test e l'altra. L'utilizzo di valori RSS pari a 4, 8 e 16 ha raddoppiato il rendimento rispetto all'utilizzo di un valore pari a 1. Ogni istanza RSS è stata eseguita nove volte con un parametro
numjobs
pari a 8. Il parametroiodepth
è stato incrementato di cinque a ogni esecuzione fino al raggiungimento della velocità in uscita massima.
Passaggi successivi
Scopri di più sui pool di archiviazione.