Questa pagina descrive le prestazioni medie previste e le impostazioni consigliate per Filestore. Mostra inoltre come testare le prestazioni delle istanze Filestore.
Rendimento previsto
Ogni livello di servizio Filestore fornisce un diverso livello di prestazioni. Le prestazioni di una determinata istanza possono 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à | IOPS di lettura e scrittura | Velocità effettiva di lettura e scrittura (MiB/s) |
---|---|---|---|
BASIC_HDD |
Da 1 TiB a 10 TiB | 600/1.000 | 100/100 |
BASIC_HDD |
Da 10 TiB a 63,9 TiB | 1000/5000 | 180/120 |
BASIC_SSD |
Da 2,5 TiB a 63,9 TiB | 60.000/25.000 | 1200/350 |
ZONAL |
1 TiB | 9200/2600 | 260/88 |
ZONAL |
9,75 TiB | 89.700/25.350 | 2535/858 |
ZONAL |
10 TiB | 92.000/26.000 | 2600/880 |
ZONAL |
100 TiB | 920.000/260.000 | 26.000/8.800 |
REGIONAL |
1 TiB | 12.000/4.000 | 120/100 |
REGIONAL |
9,75 TiB | 117.000/39.000 | 1170/975 |
REGIONAL |
10 TiB | 92.000/26.000 | 2600/880 |
REGIONAL |
100 TiB | 920.000/260.000 | 26.000/8.800 |
ENTERPRISE |
1 TiB | 12.000/4.000 | 120/100 |
ENTERPRISE |
10 TiB | 120.000/40.000 | 1200/1000 |
La tabella precedente mostra le prestazioni previste alla capacità minima e massima per ciascun livello di servizio. Tra questi limiti, le prestazioni scalano in modo lineare come la scala di capacità. Ad esempio, se raddoppi la capacità dell'istanza aziendale da 1 TiB a 2 TiB, le prestazioni previste dell'istanza raddoppiano da 12.000/4.000 IOPS di lettura e scrittura a 24.000/8.000 IOPS di lettura e scrittura.
In scenari con un solo client o con 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 a livello di zona e fino a 2
connessioni per i livelli a livello di regione ed Enterprise. In generale, maggiore è la capacità di condivisione file
e minore è il numero di VM client che si connettono, maggiori saranno le prestazioni ottenute
specificando connessioni aggiuntive con nconnect
.
Tipo di macchina client consigliato
Consigliamo di avere un tipo di macchina di Compute Engine, come 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 una larghezza di banda di lettura di circa 16 Gbps
per carichi di lavoro ottimizzati per la cache. Per ulteriori informazioni, vedi Larghezza di banda di rete.
Opzioni di montaggio per client Linux
Ti consigliamo di utilizzare le seguenti opzioni di montaggio NFS, in particolare hard
montaggio, async
e le opzioni rsize
e wsize
, per ottenere
le migliori prestazioni sulle istanze VM client Linux. Per ulteriori informazioni sulle opzioni di montaggio NFS, consulta nfs.
Opzione predefinita | Descrizione |
---|---|
hard |
Il client NFS proverà nuovamente a inviare 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 di eseguire le richieste NFS tre volte prima di eseguire ulteriori azioni di recupero. |
rsize=262144 |
Il client NFS può ricevere un massimo di 262.144 byte dal server NFS per 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 richiesta WRITE . |
resvport |
Il client NFS utilizza una porta di origine con privilegi per le comunicazioni con il server NFS per questo punto di montaggio. |
async |
Il client NFS ritarda le scritture dell'applicazione di invio sul server NFS finché non vengono soddisfatte determinate condizioni. Attenzione: l'utilizzo dell'opzione sync riduce notevolmente le prestazioni. |
Prestazioni delle VM client singole e multiple
I livelli di servizio scalabili di Filestore sono ottimizzati per più VM client, non per una singola VM client.
Per le istanze a livello di zona, di regione e di business, sono necessarie almeno quattro VM client per sfruttare appieno le prestazioni. Ciò garantisce che tutte le VM nel cluster Filestore sottostante vengano completamente utilizzate.
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 nelle varie 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 contribuire a mitigare i problemi di prestazioni, prova a procedere nel seguente modo:
Assicurati che il bucket Cloud Storage, la VM client e l'istanza Filestore si trovino tutti nella stessa regione.
Le due regioni offrono un'opzione dalle prestazioni massime per i dati archiviati in Cloud Storage. Se utilizzi questa opzione, assicurati che le altre risorse risiedano in una delle singole regioni contenute nella doppia regione. 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
.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 a DP ha prestazioni simili o più lente rispetto all'istanza Filestore, questo potrebbe indicare un collo di bottiglia con prestazioni non correlato a Filestore. Prova quanto segue per migliorare le prestazioni di base delle risorse non Filestore:
Applica l'opzione
gsutil -m
. Questa opzione consente l'esecuzione in parallelo delle operazioni supportate, tra cuicp
,mv
ersync
.Applica le seguenti configurazioni di
gsutil
. Ciascuno è valori di configurazione diboto
modificabili impostati nel file di configurazione diboto
. Gli utenti possono modificare il file direttamente (opzione consigliata) o utilizzando l'opzionegsutil -o
:
Se le prestazioni dell'istanza Filestore sono notevolmente più lente rispetto a quelle della VM collegata a DP, prova a distribuire l'operazione su più VM.
Ciò consente di migliorare le prestazioni delle operazioni di lettura da Cloud Storage.
Per le istanze a livello di zona, di regione e di business, sono necessarie almeno quattro VM client per sfruttare appieno le prestazioni. Ciò garantisce che tutte le VM nel cluster Filestore sottostante siano completamente utilizzate. Per ulteriori informazioni, consulta Prestazioni delle VM singole e multiple client.
Test delle prestazioni
Se utilizzi Linux, puoi usare lo strumento fio per confrontare la velocità effettiva di lettura e scrittura e il numero di IOPS per le istanze del livello base. Tieni presente che questo metodo per il benchmarking delle prestazioni non è consigliato per istanze di zona, regionali e aziendali.
Gli esempi in questa sezione mostrano benchmark comuni che potresti voler eseguire. Per ottenere le massime prestazioni, potrebbe essere necessario eseguire fio da più istanze VM del client.
Il seguente esempio confronta 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
L'esempio seguente riporta il numero massimo di IOPS di scrittura di riferimento:
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
L'esempio seguente confronta 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
L'esempio seguente riporta 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