Questa pagina descrive i limiti di prestazioni per le istanze Filestore, insieme alle impostazioni di prestazioni e alle 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 le prestazioni massime che puoi ottenere quando imposti la capacità minima e massima per ogni livello di servizio.
Tutti i valori della tabella sono limiti stimati e non garantiti. Per informazioni sui limiti e sulle impostazioni delle prestazioni personalizzate, vedi Limiti di prestazioni personalizzati.
Livello di servizio | Capacità | IOPS di lettura | IOPS di scrittura | Throughput di lettura (MiBps) | Velocità effettiva di scrittura (MiBps) | Throughput di lettura di un singolo client (MiBps) | Throughput 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 | ||
GRANDI IMPRESE | 1 TiB | 12.000 | 4000 | 120 | 100 | 120 | 100 | No |
10 TiB | 120.000 | 40.000 | 1200 | 1000 | 450 | 260 |
Scalabilità delle prestazioni
Le prestazioni aumentano in modo lineare con la 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/4000 IOPS di lettura e scrittura a 24.000/8000 IOPS di lettura e scrittura.
Negli scenari con uno o pochi client, devi aumentare il numero di connessioni TCP
con l'opzione di montaggio
nconnect
per ottenere le massime prestazioni 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 |
---|---|---|
Regionale, a livello di zona | 1-9,75 TiB | nconnect=2 |
Regionale, a livello di zona | 10-100 TiB | nconnect=7 |
Aziende | - | nconnect=2 |
SSD con scalabilità elevata | - | nconnect=7 |
In generale, maggiore è la capacità di condivisione dei file e minore è il numero di VM client di connessione, maggiore è il rendimento che ottieni specificando connessioni aggiuntive con nconnect
.
Prestazioni personalizzate
Imposta prestazioni personalizzate per configurarle in base alle esigenze del tuo workload, 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
Ti consigliamo di utilizzare un tipo di macchina Compute Engine, ad esempio n2-standard-8
, che fornisca una larghezza di banda di 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 carichi di lavoro compatibili con la cache. Per ulteriori informazioni, consulta Larghezza di banda della rete.
Opzioni di montaggio del client Linux
Per ottenere le migliori prestazioni sulle istanze VM 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 saperne di più sulle opzioni di montaggio NFS, consulta
nfs.
Opzione predefinita | Descrizione |
---|---|
hard |
Il client NFS riprova le richieste NFS all'infinito. |
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 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 Basic, imposta il valore rsize su 1048576 . |
wsize=524288 |
Il client NFS può inviare un massimo di 524.288 byte 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 l'invio delle scritture dell'applicazione al server NFS finché non vengono soddisfatte determinate condizioni. Attenzione: l'utilizzo dell'opzione sync riduce significativamente 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 Linux deve precaricare durante un'operazione di lettura sequenziale. Di conseguenza, le successive richieste di lettura possono essere gestite 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 read_ahead_kb
predefinito di 128 KB.
Ti consigliamo di aumentare questo valore a 20 MB per migliorare la velocità effettiva di lettura sequenziale.
Dopo aver montato correttamente la condivisione file sulla VM client Linux, puoi utilizzare il seguente script per modificare 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 una o più VM client
I livelli di servizio scalabili di Filestore sono ottimizzati per le prestazioni di più VM client, non di una sola VM client.
Per le istanze di zona, regionali e aziendali, sono necessarie almeno quattro VM client per sfruttare le prestazioni complete. In questo modo, tutte le VM nel cluster Filestore sottostante vengono utilizzate completamente.
Per un contesto aggiuntivo, il cluster Filestore scalabile più piccolo ha quattro
VM. Ogni VM client comunica con una sola VM 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 cluster Filestore.
Migliorare il rendimento delle risorse Google Cloud
Le operazioni su più risorse Google Cloud , come la copia di dati da Cloud Storage a un'istanza Filestore utilizzando gcloud CLI, possono essere lente. Per contribuire a mitigare 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 doppie regioni offrono un'opzione con le massime prestazioni 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
.Per un punto di riferimento, verifica le prestazioni di una VM con un Persistent Disk (DP) collegato e confrontale con le prestazioni di un'istanza Filestore.
- Se la VM collegata al DP ha prestazioni simili o più lente rispetto all'istanza Filestore, ciò potrebbe indicare un collo di bottiglia delle prestazioni non correlato a Filestore. Per migliorare il rendimento di base delle risorse non Filestore, puoi modificare le proprietà di gcloud CLI associate ai caricamenti compositi paralleli. Per ulteriori informazioni, consulta la pagina Come gli strumenti e le API utilizzano i caricamenti compositi paralleli.
Se le prestazioni dell'istanza Filestore sono notevolmente più lente rispetto alla VM collegata al disco permanente, prova a distribuire l'operazione su più VM.
Ciò contribuisce a migliorare il rendimento delle operazioni di lettura da Cloud Storage.
Per le istanze zonali, regionali e aziendali, sono necessarie almeno quattro VM client per sfruttare le prestazioni complete. In questo modo, tutte le VM nel cluster Filestore sottostante vengono utilizzate completamente. Per saperne di più, consulta Prestazioni di VM client singole e multiple.