Questa pagina introduce le opzioni di rendimento disponibili per le istanze Filestore e fornisce consigli generali per ottimizzare il rendimento. Quando utilizzi la console Google Cloud per creare istanze regionali e di zona, l'opzione Prestazioni personalizzate è attivata per impostazione predefinita per consentirti di scalare le IOPS indipendentemente dalla capacità per soddisfare le esigenze specifiche del tuo workload.
La tabella seguente fornisce un riepilogo dei limiti di prestazioni per gli intervalli di capacità inferiore e superiore nelle impostazioni delle prestazioni personalizzate:
| Intervallo di capacità | Livello di servizio | Capacità | IOPS sottoposte a provisioning per TiB |
|---|---|---|---|
| Intervallo di capacità inferiore | Regionale (istanze piccole disponibili nella regione) | Da 100 GiB a 10.239 GiB | Da 4000 a 17.000 |
| Regionale (istanze piccole non disponibili nella regione) | Da 1 TiB a 9,75 TiB | Da 4000 a 17.000 | |
| A livello di zona | Da 1 TiB a 9,75 TiB | Da 4000 a 17.000 | |
| Intervallo di capacità più elevato | Regionale | Da 10 TiB a 100 TiB | Da 3000 a 7500 |
| A livello di zona | Da 10 TiB a 100 TiB | Da 3000 a 7500 |
Informazioni sui calcoli del rendimento
La tabella seguente mostra i calcoli delle prestazioni in base alle IOPS di cui è stato eseguito il provisioning per TiB e alla capacità allocata. I calcoli si basano su diversi intervalli di capacità per mostrare come cambiano i valori di IOPS di lettura, IOPS di scrittura, throughput di lettura e throughput di scrittura per i valori minimi e massimi di IOPS per TiB.
Per saperne di più, consulta IOPS di lettura e scrittura.
| Intervallo di capacità | IOPS sottoposte a provisioning minime e massime per TiB |
Capacità | IOPS di lettura | IOPS di scrittura | Throughput di lettura (MiBps) | Velocità effettiva di scrittura (MiBps) | Throughput di lettura di un singolo client (MiBps) | Throughput di scrittura di un singolo client (MiBps) |
|---|---|---|---|---|---|---|---|---|
| Intervallo di capacità inferiore (da 100 GiB a 10.239 GiB) |
4000 | 100 GiB | 2000* | 600 | 47 | 16 | 47 | 16 |
| 600 GiB | 2344 | 703 | 55 | 19 | 55 | 19 | ||
| 1024 GiB | 4000 | 1200 | 94 | 32 | 94 | 32 | ||
| 10.239 GiB | 39.996 | 11.999 | 940 | 320 | 450 | 260 | ||
| 17.000 | 100 GiB | 2000 | 600 | 47 | 16 | 47 | 16 | |
| 600 GiB | 9961 | 2988 | 234 | 80 | 234 | 80 | ||
| 1024 GiB | 17.000 | 5100 | 400 | 136 | 400 | 136 | ||
| 10.239 GiB | 169.983 | 50.995 | 3995 | 1360 | 450 | 260 | ||
| Intervallo di capacità più elevato (da 10 TiB a 100 TiB) |
3000 | 10 TiB | 30.000 | 9000 | 705 | 240 | 705 | 240 |
| 7500 | 100 TiB | 750.000 | 225.000 | 17.625 | 6000 | 1600 | 800 |
* A seconda dell'accesso alla funzionalità delle istanze di piccola capacità, l'intervallo di capacità inferiore per le istanze regionali Filestore può essere compreso tra 100 GiB e 10.239 GiB o tra 1 TiB e 9,75 TiB. Per saperne di più, consulta Istanze Filestore di piccola capacità.
Scalabilità delle prestazioni
Negli scenari con uno o pochi client, devi aumentare il numero di connessioni TCP
con l'opzione di montaggio
nconnect
per ottenere le massime prestazioni NFS.
Per livelli di servizio specifici, ti consigliamo di specificare il seguente numero di connessioni tra il client e il server:
| Livello | Capacità | Numero di connessioni |
|---|---|---|
| Regionale, a livello di zona | 1-9,75 TiB | nconnect=2 |
| Regionale, a livello di zona | 10-100 TiB | nconnect=7 |
| Aziende | - | nconnect=2 |
| SSD con scalabilità elevata | - | nconnect=7 |
In generale, maggiore è la capacità di condivisione dei file e minore è il numero di VM client di connessione, maggiore è il rendimento che ottieni specificando connessioni aggiuntive con nconnect.
Tipo di macchina client consigliato
Ti consigliamo di utilizzare un tipo di macchina Compute Engine, ad esempio n2-standard-8, che fornisca una larghezza di banda in uscita di almeno 16 Gbps. Questa larghezza di banda in uscita consente al client di raggiungere una larghezza di banda di lettura di circa 16 Gbps per i carichi di lavoro compatibili con la cache. Per ulteriori informazioni, consulta Larghezza di banda della rete.
Opzioni di montaggio del client Linux
Per ottenere le migliori prestazioni sulle istanze VM client Linux, ti consigliamo di utilizzare le seguenti opzioni di montaggio NFS, in particolare il montaggio hard, async e le opzioni rsize e wsize. Per saperne di più sulle opzioni di montaggio NFS, consulta
nfs.
| Opzione predefinita | Descrizione |
|---|---|
hard |
Il client NFS riprova le richieste NFS all'infinito. |
timeo=600 |
Il client NFS attende 600 decisecondi (60 secondi) prima di riprovare una richiesta NFS. |
retrans=3 |
Il client NFS tenta di eseguire le richieste NFS tre volte prima di intraprendere ulteriori azioni di recupero. |
rsize=524288 |
Il client NFS può ricevere un massimo di 524.288 byte dal server NFS per richiesta READ. Nota: per le istanze di livello Basic, imposta il valore rsize su 1048576. |
wsize=524288 |
Il client NFS può inviare un massimo di 524.288 byte al server NFS per richiesta WRITE. |
resvport |
Il client NFS utilizza una porta di origine privilegiata quando comunica con il server NFS per questo punto di montaggio. |
async |
Il client NFS ritarda l'invio delle scritture dell'applicazione al server NFS finché non vengono soddisfatte determinate condizioni. Attenzione: l'utilizzo dell'opzione sync riduce significativamente le prestazioni. |
Ottimizza il throughput di lettura NFS con il parametro read_ahead_kb
Il parametro NFS read_ahead_kb specifica la quantità di dati, in kilobyte, che il kernel Linux deve precaricare durante un'operazione di lettura sequenziale. Di conseguenza, le successive richieste di lettura possono essere gestite direttamente dalla memoria per ridurre la latenza e migliorare le prestazioni complessive.
Per le versioni del kernel Linux 5.4 e successive, il client NFS Linux utilizza un valore read_ahead_kb predefinito di 128 KB.
Ti consigliamo di aumentare questo valore a 20 MB per migliorare la velocità effettiva di lettura sequenziale.
Dopo aver montato correttamente la condivisione file sulla VM client Linux, puoi utilizzare il seguente script per modificare manualmente il valore parametro read_ahead_kb:
mount_point=MOUNT_POINT_DIRECTORY
device_number=$(stat -c '%d' $mount_point)
((major = ($device_number & 0xFFF00) >> 8))
((minor = ($device_number & 0xFF) | (($device_number >> 12) & 0xFFF00)))
sudo bash -c "echo 20480 > /sys/class/bdi/$major:$minor/read_ahead_kb"
Sostituisci quanto segue:
MOUNT_POINT_DIRECTORY è il percorso della directory in cui è montata la condivisione file.
Rendimento di una o più VM client
I livelli di servizio scalabili di Filestore sono ottimizzati per le prestazioni di più VM client, non di una singola VM client.
Per le istanze di zona, regionali e aziendali, sono necessarie almeno quattro VM client per sfruttare le prestazioni complete. In questo modo, tutte le VM nel cluster Filestore sottostante vengono utilizzate completamente.
Per un contesto aggiuntivo, il cluster Filestore scalabile più piccolo ha quattro
VM. Ogni VM client comunica con una sola VM cluster Filestore,
indipendentemente dal numero di connessioni NFS per client specificato utilizzando l'opzione di montaggio
nconnect. Se utilizzi una singola VM client, le operazioni di lettura e scrittura vengono eseguite solo da una singola VM cluster Filestore.
Limiti di prestazioni basati sulla capacità
I limiti basati sulla capacità si applicano ai livelli di servizio che non supportano le prestazioni personalizzate, come i livelli di base o le istanze in cui disattivi manualmente le prestazioni personalizzate.
Ogni livello di servizio Filestore offre un livello di prestazioni diverso che può variare a causa di fattori quali l'uso della memorizzazione nella cache, il numero di VM client, il tipo di macchina delle VM client e il carico di lavoro testato.
La tabella seguente elenca le prestazioni massime che puoi ottenere quando imposti la capacità minima e massima per ogni livello di servizio. Tutti i valori della tabella sono limiti stimati.
| Livello di servizio | Capacità | IOPS di lettura | IOPS di scrittura | Throughput di lettura (MiBps) | Velocità effettiva di scrittura (MiBps) | Throughput di lettura di un singolo client (MiBps) | Throughput di scrittura di un singolo client (MiBps) |
|---|---|---|---|---|---|---|---|
| A livello di zona | 1 TiB | 9200 | 2600 | 260 | 88 | 260 | 88 |
| 9,75 TiB | 89.700 | 25.350 | 2535 | 858 | 450 | 260 | |
| 10 TiB | 92.000 | 26.000 | 2600 | 880 | 1600 | 800 | |
| 100 TiB | 920.000 | 260.000 | 26.000 | 8800 | 1600 | 800 | |
| Regionale | 1 TiB | 12.000 | 4000 | 120 | 100 | 120 | 100 |
| 9,75 TiB | 117.000 | 39.000 | 1170 | 975 | 450 | 260 | |
| 10 TiB | 92.000 | 26.000 | 2600 | 880 | 1600 | 800 | |
| 100 TiB | 920.000 | 260.000 | 26.000 | 8800 | 1600 | 800 | |
| Aziende | 1 TiB | 12.000 | 4000 | 120 | 100 | 120 | 100 |
| 10 TiB | 120.000 | 40.000 | 1200 | 1000 | 450 | 260 | |
| HDD base | 1 TiB - 10 TiB | 600 | 1000 | 100 | 100 | 100 | 100 |
| 10 TiB - 63,9 TiB | 1000 | 5000 | 180 | 120 | 180 | 120 | |
| SSD base | 2,5 TiB - 63,9 TiB | 60.000 | 25.000 | 1200 | 350 | 1200 | 350 |
Migliorare il rendimento delle risorse Google Cloud
Le operazioni su più risorse Google Cloud , come la copia dei dati da Cloud Storage a un'istanza Filestore utilizzando Google Cloud CLI, possono essere lente. Per contribuire a mitigare i problemi di rendimento, prova quanto segue:
Assicurati che il bucket Cloud Storage, la VM client e l'istanza Filestore si trovino nella stessa regione.
Le doppie regioni offrono un'opzione con le massime prestazioni per i dati archiviati in Cloud Storage. Se utilizzi questa opzione, assicurati che le altre risorse si trovino in una delle singole regioni contenute nella regione a due regioni. Ad esempio, se i dati di Cloud Storage si trovano in
us-central1,us-west1, assicurati che la VM client e l'istanza Filestore si trovino inus-central1.Per un punto di riferimento, verifica le prestazioni di una VM con un Persistent Disk (DP) collegato e confrontale con le prestazioni di un'istanza Filestore.
- Se la VM collegata al DP ha prestazioni simili o inferiori rispetto all'istanza Filestore, ciò potrebbe indicare un collo di bottiglia delle prestazioni non correlato a Filestore. Per migliorare le prestazioni di base delle risorse non Filestore, puoi modificare le proprietà della gcloud CLI associate ai caricamenti compositi paralleli. Per saperne di più, consulta la pagina Come gli strumenti e le API utilizzano i caricamenti compositi paralleli.
- Se le prestazioni dell'istanza Filestore sono notevolmente più lente rispetto alla VM collegata al DP, prova a distribuire l'operazione su più VM per migliorare le prestazioni delle operazioni di lettura da Cloud Storage.
Passaggi successivi
- Prestazioni personalizzate
- Testare il rendimento
- Risolvere i problemi relativi alle prestazioni
- Capacità di scalabilità