In questa pagina vengono descritti il rendimento medio previsto e i valori consigliati delle prestazioni di Filestore. Mostra inoltre come eseguire test e le prestazioni delle istanze Filestore.
Rendimento previsto
Ogni livello di servizio Filestore fornisce un diverso livello delle prestazioni. Le prestazioni di una determinata istanza potrebbero variare rispetto ai numeri previsti a causa di vari fattori, come l'uso 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 il rendimento previsto 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 il rendimento previsto al minimo e al massimo per ogni livello di servizio. Tra questi limiti, le prestazioni aumentano in modo lineare con l'aumento della capacità. Ad esempio, se raddoppi l'istanza Enterprise da 1 TiB a 2 TiB, le prestazioni previste dell'istanza raddoppia da 12.000/4.000 IOPS in lettura e scrittura a 24.000/8.000 IOPS in lettura e scrittura IOPS.
In scenari con un solo client o con pochi client, è necessario aumentare il numero di
connessioni con
nconnect
di montaggio 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 il
ai livelli regionale ed enterprise. In generale, maggiore è la capacità della condivisione file e minore è il numero di VM client collegate, maggiore è il rendimento ottenuto 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 offre una larghezza di banda in uscita di 16 Gbps
. Questa larghezza di banda in uscita consente
di ottenere una larghezza di banda di lettura di circa 16 Gbps
per adattarla alla cache
carichi di lavoro con scale out impegnativi. Per ulteriori informazioni, consulta Larghezza di banda di rete.
Opzioni di montaggio del 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
sulle istanze VM del 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 privilegiata quando comunica 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 di VM client singole e multiple
I livelli di servizio scalabili di Filestore sono ottimizzati per con più VM client, non una singola VM client.
Per le istanze zonali, regionali ed enterprise, sono necessarie almeno quattro VM client per sfruttare le prestazioni complete. Questo assicura che tutte le VM tutte le risorse nel cluster Filestore sottostante.
Per maggiori informazioni, il cluster Filestore più piccolo e scalabile ha quattro VM. Ogni VM client comunica con un solo cluster Filestore
VM, a prescindere dal numero di connessioni NFS per client specificato utilizzando
nconnect
di montaggio. Se utilizzi un'unica VM client, le operazioni di lettura e scrittura sono
eseguite 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 l'interfaccia a riga di comando gcloud, possono essere lente. Per contribuire ad attenuare 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 regioni doppie offrono un'opzione con prestazioni massime per i dati archiviati in Cloud Storage. Se utilizzi questa opzione, assicura che le altre risorse risiedano in una delle singole regioni contenuti nella doppia regione. Ad esempio, se i dati di Cloud Storage risiedono 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 con le prestazioni di un'istanza Filestore.
Se la VM collegata a DP ha prestazioni simili o più lente rispetto alla l'istanza Filestore, questo potrebbe indicare una prestazione collo di bottiglia non correlato a Filestore. Per migliorare il valore di riferimento delle risorse non Filestore, puoi regolare Proprietà gcloud CLI associate ai caricamenti compositi paralleli. Per ulteriori informazioni, consulta In che modo gli strumenti e le API utilizzano i caricamenti compositi paralleli.
Se le prestazioni dell'istanza Filestore sono notevoli più lenta della VM collegata alla 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 aziendali, devono essere presenti almeno quattro VM client. sono necessarie per sfruttare al massimo le prestazioni. In questo modo, tutte le VM nel cluster Filestore sottostante vengono utilizzate al meglio. Per ulteriori informazioni, consulta Rendimento delle VM client singole e multiple.
Test delle prestazioni
Se utilizzi Linux, puoi utilizzare lo strumento fio per eseguire il benchmark della velocità effettiva di lettura e scrittura e delle IOPS per le istanze di livello base. Tieni presente che questo metodo per il benchmarking del rendimento non è consigliato per le istanze zonali, regionali ed enterprise.
Gli esempi in questa sezione mostrano i benchmark comuni che potresti voler eseguire. Per ottenere il massimo delle prestazioni, potrebbe essere necessario eseguire fio da più istanze VM client.
Il seguente esempio esegue il benchmarking della velocità effettiva di scrittura 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=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 confronta 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