In questa pagina vengono descritte le prestazioni medie previste e le impostazioni delle prestazioni consigliate per Filestore. Mostra inoltre come testare le prestazioni delle istanze Filestore.
Rendimento previsto
Ogni livello di servizio Filestore fornisce un livello di prestazioni diverso. Le prestazioni di una determinata istanza potrebbero variare rispetto ai numeri previsti a causa di vari fattori, come l'utilizzo della memorizzazione nella cache, il numero di VM client, il tipo di macchina delle VM client e il carico di lavoro testato.
Le seguenti tabelle mostrano le prestazioni previste delle istanze Filestore in base al livello di servizio e alla capacità configurata:
Prestazioni | Capacità (TiB ) |
IOPS di lettura/scrittura | Velocità effettiva di lettura/scrittura (MiB/s) |
---|---|---|---|
BASIC_HDD |
1-10 | 600/1.000 | 100/100 |
BASIC_HDD |
10-63,9 | 1.000/5.000 | 180/120 |
BASIC_SSD |
2,5-63,9 | 60.000/25.000 | 1200/350 |
ZONAL (zona, banda a bassa capacità) |
1 | 9200/2600 | 260/88 |
ZONAL (zona, banda a bassa capacità) |
9,75 | 89.700/25.350 | 2535/858 |
HIGH_SCALE_SSD (ora a livello di zona, banda ad alta capacità) |
10 | 92.000/26.000 | 2600/880 |
HIGH_SCALE_SSD (ora a livello di zona, banda ad alta capacità) |
100 | 920.000/260.000 | 26.000/8.800 |
ENTERPRISE |
1 | 12.000/4.000 | 120/100 |
ENTERPRISE |
10 | 120.000/40.000 | 1.200/1.000 |
La tabella riportata sopra mostra le prestazioni previste per la capacità massima e minima sia per il livello di zona con una banda di capacità più elevata (precedentemente SSD ad alta scalabilità) sia per il livello Enterprise. Tra questi limiti, le prestazioni scalano in modo lineare man mano che la capacità viene scalata. Ad esempio, se raddoppia la capacità dell'istanza aziendale da 1 TiB a 2 TiB, le prestazioni previste dell'istanza raddoppiano, passando da 12.000/4.000 IOPS di lettura/scrittura a 24.000/8.000 IOPS di lettura/scrittura.
In scenari con solo client e pochi client, devi aumentare il numero di connessioni TCP con l'opzione di montaggio nconnect
per ottenere le massime prestazioni NFS. Ti consigliamo di specificare fino a 7
connessioni per il livello di servizio di zona e fino a 2
connessioni per il livello Enterprise. In generale, maggiore è la capacità della condivisione file e minore è il numero di VM client che si connettono, maggiori sono le prestazioni che ottieni specificando connessioni aggiuntive con nconnect
.
Tipo di macchina client consigliato
Consigliamo di avere un tipo di macchina Compute Engine, ad esempio n2-standard-8
, che fornisce una larghezza di banda in uscita di 16 Gbps
. Questa larghezza di banda in uscita consente al client di raggiungere circa 16 Gbps
di larghezza di banda di lettura per carichi di lavoro compatibili con la cache. Per saperne di più, consulta Larghezza di banda di rete.
Opzioni di montaggio per 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 ottenere le migliori prestazioni sulle istanze VM del client Linux. Per ulteriori informazioni sulle opzioni di montaggio NFS, consulta nfs.
Opzione predefinita | Descrizione |
---|---|
hard |
Il client NFS riprova le richieste NFS a tempo indeterminato. |
timeo=600 |
Il client NFS attende 600 decisecondi (60 secondi) prima di riprovare una richiesta NFS. |
retrans=3 |
Il client NFS tenta le richieste NFS tre volte prima di eseguire un'ulteriore azione di recupero. |
rsize=262144 |
Il client NFS può ricevere un massimo di 262.144 byte dal server NFS per ogni richiesta READ . Nota: per le istanze di livello base, imposta il valore rsize su 1048576 . |
wsize=1048576 |
Il client NFS può inviare un massimo di 1.048.576 byte (1 MiB) al server NFS per ogni richiesta WRITE . |
resvport |
Il client NFS utilizza una porta di origine con privilegi per la comunicazione 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 notevolmente le prestazioni. |
Prestazioni delle VM con uno o più client
I livelli di servizio scalabili di Filestore sono ottimizzati per le prestazioni di più VM client, non per una singola VM client.
Per le istanze di livello enterprise e a livello di zona, sono necessarie almeno quattro VM client per sfruttare le prestazioni complete. Questo garantisce che tutte le VM nel cluster Filestore sottostante vengano utilizzate completamente.
Per maggiore contesto, il cluster Filestore scalabile più piccolo ha quattro VM. Ogni VM client comunica con una sola VM del 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 del cluster Filestore.
Migliora le prestazioni delle risorse Google Cloud
Le operazioni su più risorse Google Cloud, come la copia dei dati da Cloud Storage a un'istanza Filestore utilizzando gsutil
, possono essere lente. Per mitigare i problemi di prestazioni, prova quanto segue:
Assicurati che il bucket Cloud Storage, la VM client e l'istanza Filestore si trovino nella stessa regione.
Le due regioni offrono un'opzione con le massime prestazioni per i dati archiviati in Cloud Storage. Se utilizzi questa opzione, assicurati che le altre risorse risiedano in una delle singole regioni che comprendono la doppia regione. Ad esempio, se i tuoi dati Cloud Storage si trovano in
us-central1,us-west1
, assicurati che la VM client e l'istanza Filestore si trovino inus-central1
.Come punto di riferimento, verifica le prestazioni di una VM collegata a DP e confronta le prestazioni di un'istanza Filestore.
Se la VM collegata al DP ha prestazioni simili o più lente rispetto all'istanza Filestore, questo potrebbe indicare un collo di bottiglia delle prestazioni non correlato a Filestore. Prova quanto segue per migliorare le prestazioni di riferimento delle tue risorse non Filestore:
Applica l'opzione
gsutil -m
. Questa opzione consente l'esecuzione in parallelo di operazioni supportate, tra cuicp
,mv
ersync
.Applica le seguenti configurazioni di
gsutil
. Ciascuno sono valori di configurazioneboto
modificabili impostati nel file di configurazioneboto
. Gli utenti possono modificare il file direttamente (opzione consigliata) o utilizzando l'opzione-o
:
Se le prestazioni dell'istanza Filestore sono notevolmente più lente rispetto alla VM collegata a DP, prova a distribuire l'operazione su più VM.
Ciò aiuta a migliorare le prestazioni delle operazioni di lettura da Cloud Storage.
Per le istanze di livello enterprise e a livello di zona sono necessarie almeno quattro VM client per sfruttare le prestazioni complete. Ciò garantisce che tutte le VM nel cluster Filestore sottostante siano completamente utilizzate. Per saperne di più, consulta Prestazioni delle VM con un solo client e più client.
Test del rendimento
Se usi Linux, puoi usare lo strumento fio per confrontare la velocità effettiva di lettura e scrittura e le IOPS per le istanze di livello base. Tieni presente che questo metodo per il benchmarking delle prestazioni non è consigliato per le istanze di livello aziendale e di zona.
Gli esempi di questa sezione mostrano dei benchmark comuni che potresti voler eseguire. Potrebbe essere necessario eseguire fio da più istanze VM client per ottenere le massime prestazioni.
I seguenti benchmark di esempio confrontano la velocità effettiva massima di scrittura:
fio --ioengine=libaio --filesize=32G --ramp_time=2s \ --runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \ --group_reporting --directory=/mnt/nfs \ --name=write --blocksize=1m --iodepth=64 --readwrite=write
Il seguente esempio di benchmark esegue il numero massimo di IOPS di scrittura:
fio --ioengine=libaio --filesize=32G --ramp_time=2s \ --runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \ --group_reporting --directory=/mnt/nfs \ --name=randwrite --blocksize=4k --iodepth=256 --readwrite=randwrite
I seguenti benchmark di esempio confrontano la velocità effettiva di lettura massima:
fio --ioengine=libaio --filesize=32G --ramp_time=2s \ --runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \ --group_reporting --directory=/mnt/nfs \ --name=read --blocksize=1m --iodepth=64 --readwrite=read
I seguenti benchmark di esempio confrontano il numero massimo di IOPS di lettura:
fio --ioengine=libaio --filesize=32G --ramp_time=2s \ --runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \ --group_reporting --directory=/mnt/nfs \ --name=randread --blocksize=4k --iodepth=256 --readwrite=randread
Passaggi successivi
- Risolvi i problemi relativi alle prestazioni per Filestore.