Questa pagina fornisce indicazioni su come migliorare il rendimento di Cloud Storage FUSE.
Migliora le prestazioni di lettura e scrittura
Per migliorare le prestazioni di lettura e scrittura, ti consigliamo quanto segue:
Abilita la memorizzazione nella cache: Cloud Storage FUSE offre quattro tipi di cache lato client facoltativi che memorizzano localmente tipi specifici di dati e metadati per contribuire a migliorare le prestazioni:
Memorizzazione nella cache dei file: archivia copie dei file a cui accedi di frequente.
Memorizzazione nella cache delle statistiche: memorizza i metadati dei file.
Memorizzazione nella cache del tipo: memorizza le informazioni sul tipo di file.
Memorizzazione nella cache dell'elenco: archivia le schede delle directory.
La memorizzazione nella cache di Cloud Storage FUSE funziona con qualsiasi directory specificata dall'utente supportata in base allo spazio di archiviazione che preferisci. Cache FUSE di Cloud Storage le prestazioni corrispondono allo spazio di archiviazione sottostante utilizzato dalla cache con overhead.
Accelera le letture abilitando i download paralleli: accelera i file di grandi dimensioni legge oltre 1 GB abilitando i download paralleli. Per ulteriori informazioni, consulta Migliorare le prestazioni di lettura utilizzando i download paralleli.
Esegui carichi di lavoro di lettura e scrittura sequenziali, se possibile: Cloud Storage FUSE ha un rendimento migliore per i carichi di lavoro di lettura e scrittura sequenziali rispetto ai carichi di lavoro di lettura e scrittura casuali. Cloud Storage FUSE utilizza un approccio euristico rilevare quando un file viene letto in sequenza, abilitando Cloud Storage FUSE per emettere meno richieste di lettura più grandi a Cloud Storage utilizzando stessa connessione TCP.
Regola le dimensioni dei file in base al tipo di lettura: per ottimizzare la lettura sequenziale rendimento, ti consigliamo di caricare e leggere file di dimensioni comprese tra 5 MB e Deve essere di 200 MB. Per ottimizzare il rendimento della lettura casuale, ti consigliamo di: caricare e leggere file di dimensioni pari a circa 2 MB.
Monta i bucket con lo spazio dei nomi gerarchico abilitato: per aumentare le velocità di lettura e scrittura e garantire l'atomicità per operazioni di query iniziali più elevate al secondo (QPS), consigliamo di montare i bucket con lo spazio dei nomi gerarchico abilitato. Per scoprire di più su come i bucket abilitati per gli spazi dei nomi gerarchici possono migliorare Cloud Storage FUSE le prestazioni, consulta Monta i bucket con uno spazio dei nomi gerarchico abilitato.
Migliora le prestazioni della prima lettura
Prima di eseguire il tuo carico di lavoro, ti consigliamo di elencare in modo ricorsivo i file nel bucket montato per compilare in anticipo le cache di statistiche e tipi e migliorare le prestazioni alla prima esecuzione in un metodo batch più rapido:
ls -R MOUNT_POINT > /dev/null
Usa la memorizzazione nella cache dei file per migliorare la velocità effettiva
Cloud Storage FUSE ha una latenza più elevata rispetto a un file system locale. La throughput viene ridotta quando leggi o scrivi file di piccole dimensioni uno alla volta, poiché comporta diverse chiamate API distinte. Lettura o scrittura di più file di grandi dimensioni alla volta può contribuire ad aumentare la velocità effettiva. Utilizza la funzionalità di cache dei file di Cloud Storage FUSE per migliorare le prestazioni per I/O piccoli e casuali. Per scoprire di più sulla memorizzazione intermedia dei file e su come attivare la funzionalità, consulta Utilizzare la memorizzazione intermedia dei file Cloud Storage FUSE.
Monta i bucket con spazio dei nomi gerarchico abilitato
Per garantire l'atomicità per operazioni di query iniziali al secondo (QPS) più elevate
come checkpoint e ridenominazioni o modifiche delle directory, consigliamo di montare
bucket con spazio dei nomi gerarchico (anteprima) abilitato. Lo spazio dei nomi gerarchico organizza i dati in una struttura di file system gerarchica, rendendo più efficienti le operazioni all'interno del bucket. Chiamate Elenca oggetto
(BucketHandle.Objects
) vengono sostituiti da chiamate getfolder,
ottenendo tempi di risposta più rapidi e un minor numero
di chiamate elenco per ogni
operativa.
Raggiungi la velocità effettiva massima
Per ottenere la massima velocità in uscita, utilizza una macchina con risorse CPU sufficienti per aumentare la velocità in uscita e saturare la scheda di interfaccia di rete (NIC). Insufficiente Le risorse della CPU possono causare la limitazione di Cloud Storage FUSE.
Se usi Google Kubernetes Engine, Aumenta l'allocazione della CPU al container collaterale di Cloud Storage FUSE se i tuoi carichi di lavoro hanno bisogno di una velocità effettiva più elevata. Puoi aumentare le risorse utilizzate il container collaterale o allocare risorse illimitate.
Valuta le esigenze di IOPS in query al secondo
Filestore è un'opzione migliore di Cloud Storage FUSE per i carichi di lavoro che richiedono un numero elevato di operazioni di input/output al secondo (IOPS) istantanee, noto anche come query al secondo in Cloud Storage. Filestore è anche l'opzione migliore per IOPS molto elevati su un singolo file system con una latenza inferiore.
In alternativa, puoi anche utilizzare la funzionalità di cache dei file di Cloud Storage FUSE per si basano sulle caratteristiche prestazionali del supporto della cache sottostante, se fornisce un numero elevato di IOPS e una bassa latenza.
Esegui test di carico
Per istruzioni su come eseguire test di carico su Cloud Storage FUSE, consulta Benchmark di prestazioni nella documentazione di GitHub.
Passaggi successivi
- Scopri di più sulla memorizzazione nella cache di Cloud Storage FUSE.
- Scopri di più sulla semantica di Cloud Storage FUSE e sulla risoluzione dei problemi in GitHub.