Questa pagina descrive i limiti di prestazioni per le istanze Filestore, nonché le impostazioni di prestazioni e le opzioni di test consigliate.
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 il rendimento massimo che puoi ottenere impostando la capacità minima e massima per ogni livello di servizio.
Tutti i valori della tabella sono limiti stimati e non garantiti. Per informazioni sulle impostazioni e sui limiti delle prestazioni personalizzate, consulta Limiti delle prestazioni personalizzate.
Livello di servizio | Capacità | IOPS di lettura | IOPS di scrittura | Velocità effettiva di lettura (MiBps) | Velocità effettiva di scrittura (MiBps) | Velocità effettiva di lettura di un singolo client (MiBps) | Velocità effettiva di scrittura di un singolo client (MiBps) | Prestazioni personalizzate supportate |
---|---|---|---|---|---|---|---|---|
BASIC_HDD | Da 1 TiB a 10 TiB | 600 | 1000 | 100 | 100 | 100 | 100 | No |
Da 10 TiB a 63,9 TiB | 1000 | 5000 | 180 | 120 | 180 | 120 | ||
BASIC_SSD | Da 2,5 TiB a 63,9 TiB | 60.000 | 25.000 | 1200 | 350 | 1200 | 350 | |
ZONAL | 1 TiB | 9200 | 2600 | 260 | 88 | 260 | 88 | Sì |
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 | ||
ENTERPRISE | 1 TiB | 12.000 | 4000 | 120 | 100 | 120 | 100 | No |
10 TiB | 120.000 | 40.000 | 1200 | 1000 | 450 | 260 |
Scalabilità delle prestazioni
Il rendimento è proporzionale alla capacità entro i limiti di rendimento elencati nella tabella precedente. Ad esempio, se raddoppi la capacità dell'istanza aziendale da 1 TiB a 2 TiB, il limite di prestazioni dell'istanza raddoppia 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 pochi client, devi aumentare il numero di connessioni TCP con l'opzione di montaggio nconnect
per ottenere il massimo rendimento NFS.
Per livelli di servizio specifici, consigliamo di specificare il seguente numero di connessioni tra il client e il server:
Livello | Capacità | Numero di connessioni |
---|---|---|
A livello di regione o di zona | 1-9,75 TiB | nconnect=2 |
A livello di regione o di zona | 10-100 TiB | nconnect=7 |
Aziende | - | nconnect=2 |
SSD con scalabilità elevata | - | nconnect=7 |
In generale, maggiore è la capacità della condivisione file e minore è il numero di VM client connesse, maggiori sono le prestazioni ottenute specificando connessioni aggiuntive con nconnect
.
Prestazioni personalizzate
Imposta le prestazioni personalizzate per configurarle in base alle esigenze del carico di lavoro, indipendentemente dalla capacità specificata. Puoi specificare un rapporto IOPS per TiB o impostare un numero fisso di IOPS. Per maggiori dettagli, vedi Rendimento personalizzato.
Tipo di macchina client consigliato
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 workload cache-friendly. Per ulteriori informazioni, consulta Larghezza di banda di rete.
Opzioni di montaggio del client Linux
Per ottenere le migliori prestazioni sulle istanze VM client Linux, consigliamo di utilizzare le seguenti opzioni di montaggio NFS, in particolare il montaggio hard
,async
e le opzioni rsize
e wsize
. 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 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 base, imposta il valore rsize su 1048576 . |
wsize=1048576 |
Il client NFS può inviare al server NFS un massimo di 1.048.576 byte (1 MiB) 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 notevolmente le prestazioni. |
Ottimizza la velocità effettiva 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 di Linux deve prelevare durante un'operazione di lettura sequenziale. Di conseguenza, le richieste di lettura successive possono essere eseguite 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 predefinito di read_ahead_kb
pari a 128 KB.
Ti consigliamo di aumentare questo valore a 20 MB per migliorare il throughput di lettura sequenziale.
Dopo aver montato correttamente la condivisione file sulla VM client Linux, puoi utilizzare il seguente script per regolare 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"
Dove:
MOUNT_POINT_DIRECTORY è il percorso della directory in cui è montata la condivisione file.
Rendimento di VM client singole e multiple
I livelli di servizio scalabili di Filestore sono ottimizzati per le prestazioni per più VM client, non per una singola VM client.
Per le istanze zonali, regionali ed enterprise, sono necessarie almeno quattro VM client per sfruttare le prestazioni complete. In questo modo, tutte le VM nel cluster Filestore sottostante vengono utilizzate al massimo.
Per maggiori informazioni, 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 specificate 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.
Migliorare le prestazioni delle Google Cloud risorse
Le operazioni su più Google Cloud risorse, come la copia dei dati da Cloud Storage a un'istanza Filestore utilizzando l'interfaccia alla gcloud CLI, 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 tutti nella stessa regione.
Le regioni doppie offrono un'opzione con il massimo rendimento 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 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 con un Persistent Disk (DP) collegato e confrontale con quelle di un'istanza Filestore.
- Se la VM collegata a DP ha prestazioni simili o inferiori rispetto all'istanza Filestore, potrebbe indicare un collo di bottiglia delle prestazioni non correlato a Filestore. Per migliorare le prestazioni di riferimento delle risorse non Filestore, puoi modificare le 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 notevolmente inferiori a quelle della VM collegata al DP, prova a distribuire l'operazione su più VM.
In questo modo, puoi migliorare le prestazioni delle operazioni di lettura da Cloud Storage.
Per le istanze zonali, regionali ed enterprise, sono necessarie almeno quattro VM client per sfruttare le prestazioni complete. In questo modo, tutte le VM nel cluster Filestore sottostante vengono utilizzate al massimo. Per ulteriori informazioni, consulta Rendimento delle VM client singole e multiple.