Ottimizza e testa le prestazioni delle istanze

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 possono variare rispetto dovuti a vari fattori, come l'uso della memorizzazione nella cache, il numero di client VM, tipo di macchina delle VM client e carico di lavoro testato.

Le seguenti tabelle mostrano le prestazioni previste di Filestore di Compute Engine in base al livello di servizio 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, il rendimento scala in modo lineare come scala di 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 genere, maggiore è la capacità di condivisione file minore è il numero di VM client che si connettono, maggiori saranno le prestazioni ottenute. che specifica connessioni aggiuntive con nconnect.

Tipo di macchina client consigliato

Ti consigliamo di avere un tipo di macchina di 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 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, 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 sulle istanze VM del client Linux. Per ulteriori informazioni sul montaggio NFS vedi le opzioni 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 con più VM client, non una singola VM client.

Per le istanze a livello di zona, di regione e di business, sono necessarie almeno quattro VM client necessarie per sfruttare appieno il rendimento. Questo assicura che tutte le VM tutte le risorse nel cluster Filestore sottostante.

Per maggiore contesto, il cluster Filestore scalabile più piccolo ha quattro delle VM in esecuzione. 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

Operazioni su più risorse Google Cloud, come la copia dei dati da Cloud Storage a un'istanza Filestore utilizzando gsutil, può essere lento. Per contribuire a mitigare i problemi di prestazioni, prova a procedere nel seguente modo:

  • Assicurati che il bucket Cloud Storage, la VM client e Filestore risiedono tutte nella stessa regione.

    Le due regioni offrono prestazioni ottimali per i dati archiviati in Cloud Storage. Se utilizzi questa opzione, assicurati che le altre risorse risiedono in una delle singole regioni contenute nel a due regioni. Ad esempio, se i tuoi dati Cloud Storage si trovano in us-central1,us-west1, assicurati che la VM client e Filestore dell'istanza risiedono in us-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. Prova i seguenti suggerimenti per migliorare le prestazioni di base delle risorse non Filestore:

      • Applica il gsutil -m . Questa opzione consente le operazioni supportate, tra cui cp, mv, e rsync per l'esecuzione in parallelo.

      • Applica le seguenti configurazioni di gsutil. Sono tutti modificabili boto di configurazione impostati nel file di configurazione di boto. Gli utenti possono modifica direttamente il file (consigliato) o utilizzando l'opzione gsutil -o:

    • 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 ci assicuriamo che delle VM nel cluster Filestore sottostante è completamente utilizzato. Per ulteriori informazioni, vedi Prestazioni delle VM singole e multiple client.

Test delle prestazioni

Se utilizzi Linux, puoi usare la fio per confrontare la velocità effettiva di lettura e scrittura e il numero di IOPS per le istanze di livello base. Tieni presente che questo metodo per il benchmarking delle prestazioni non è consigliato per set di dati a livello di zona, a livello di regione e di azienda.

Gli esempi in questa sezione mostrano benchmark comuni che potresti voler eseguire. Tu potrebbe essere necessario eseguire fio da più istanze VM client per ottenere delle prestazioni.

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

Passaggi successivi