La funzionalità di cache dei file di Cloud Storage FUSE è una cache di lettura basata su client che consente ripeti le letture dei file affinché vengano offerte da uno spazio di archiviazione cache più rapido di tua scelta. In questa pagina viene descritto come abilitare e utilizzare la memorizzazione nella cache dei file di Cloud Storage FUSE. Per un panoramica della memorizzazione nella cache di file, delle statistiche o dei tipi di memorizzazione nella cache, consulta Panoramica della memorizzazione nella cache.
Prima di iniziare
Per poter memorizzare i file nella cache, devi utilizzare un percorso della directory per memorizzare i file nella cache. Puoi creare una nuova directory su un file system esistente o creare un nuovo file system sullo spazio di archiviazione a cui è stato eseguito il provisioning. Se esegui il provisioning di nuovo spazio di archiviazione da utilizzare, utilizza le seguenti istruzioni per creare un nuovo file system:
Per Google Cloud Hyperdisk, consulta Creare un nuovo volume Google Cloud Hyperdisk.
Per Persistent Disk, consulta Creare un nuovo volume del disco permanente.
Per le SSD locali, consulta Aggiungere un'unità SSD locale alla VM.
Per i dischi RAM in memoria, consulta Creare dischi RAM in memoria.
Attivare e configurare il comportamento di memorizzazione nella cache
Abilita e configura la memorizzazione nella cache dei file utilizzando il campo
file-cache
in una File di configurazione di Cloud Storage FUSE e specifica la directory della cache che desideri da utilizzare nel campocache-dir
. La cache dei file è disattivata per impostazione predefinita. Tieni presente che puoi attivare la memorizzazione nella cache dei file passando una directory al campocache-dir
.(Facoltativo) Configura la memorizzazione nella cache delle statistiche e digita la memorizzazione nella cache utilizzando
metadata-cache
in un file di configurazione. Per scoprire di più sulle cache di tipo e di statistiche, consulta la Panoramica della memorizzazione nella cache dei tipi o la Panoramica della memorizzazione nella cache delle statistiche.(Facoltativo) Aumenta il TTL delle voci memorizzate nella cache impostando l'opzione
ttl-secs
su un valore basato sul tempo previsto tra le letture ripetute durante il bilanciamento le esigenze di coerenza. Ti consigliamo di impostare il valorettl-secs
su un valore alto così come ti consente il tuo carico di lavoro. Puoi configurare il TTL in una File di configurazione di Cloud Storage FUSE. Per ulteriori informazioni sull'impostazione un TTL per le voci memorizzate nella cache, consulta Durata.Ad esempio, il seguente file di configurazione consente la memorizzazione nella cache dei file, e digita la memorizzazione nella cache con un TTL di
3600
secondi e directory della cache impostata su/path/to/a/directory/
. Tieni presente chemax-size-mb
è impostato su-1
, che configura la cache dei file per utilizzare tutta la capacità disponibile.file-cache: max-size-mb: -1 cache-file-for-range-read: false metadata-cache: stat-cache-max-size-mb: 32 ttl-secs: 3600 type-cache-max-size-mb: 4 cache-dir: /path/to/a/directory
(Facoltativo) Accelera le letture di file di grandi dimensioni, incluse le letture iniziali, attivando la proprietà
enable-parallel-downloads
che utilizza più worker per scaricare un file di grandi dimensioni in parallelo utilizzando la directory della cache dei file come buffer di prefetch. Per ulteriori informazioni sui download paralleli e su come per configurarne le proprietà di supporto, vedi Migliorare le prestazioni di lettura utilizzando i download paralleli.Esegui manualmente il comando
ls -R
sul bucket montato prima di eseguire carico di lavoro per precompilare i metadati per garantire che il tipo di cache venga completato in anticipo della prima lettura in un metodo batch più veloce. Per ulteriori informazioni su come migliorare il rendimento delle letture iniziali, consulta Migliorare le letture iniziali.
Scaricare più file in parallelo utilizzando i download paralleli
Puoi migliorare le prestazioni di lettura attivando e configurando la funzionalità di download parallelo, che utilizza più worker per scaricare un file in parallelo utilizzando la directory della cache dei file come buffer di prefetch. Ti consigliamo di utilizzare i download paralleli per gli scenari di lettura a thread singolo che per caricare file di grandi dimensioni, come la pubblicazione di modelli e i ripristini di checkpoint.
Prima di attivare i download paralleli, tieni presente quanto segue:
Se la tua applicazione esegue un parallelismo di lettura elevato su più di otto thread, potrebbe verificarsi un lieve peggioramento delle prestazioni.
Sconsigliamo di utilizzare i download paralleli per i carichi di lavoro di addestramento a causa del loro elevato parallelismo di lettura.
Per utilizzare i download paralleli, devi prima attivare e configurare la cache dei file.
Il file da leggere deve rientrare nelle directory della cache del file disponibili che può essere controllata utilizzando la proprietà
max-size-mb
.
Configurare i download paralleli
In un file di configurazione di Cloud Storage FUSE, imposta la classe
enable-parallel-downloads
intrue
e, facoltativamente, configurarla le seguenti impostazioni di supporto:parallel-downloads-per-file
: il numero massimo di worker che è possibile generato per file per scaricare l'oggetto da Cloud Storage nella cache del file. Il valore predefinito è16
.max-parallel-downloads
: il numero massimo di worker che possono essere generati in un determinato momento in tutti i job di download dei file. La per impostazione predefinita è il doppio del numero di core della CPU sulla macchina. A non specificare alcun limite, inserisci il valore-1
.download-chunk-size-mb
: le dimensioni di ogni richiesta di lettura in MiB che ogni il worker invia a Cloud Storage durante il download dell'oggetto nel file . La dimensione predefinita è 50 MiB. Tieni presente che un download parallelo viene attivato solo se il file in lettura ha le dimensioni specificate.
Passaggi successivi
Esamina le considerazioni sulla memorizzazione nella cache in Cloud Storage FUSE.
Scopri le best practice di Cloud Storage FUSE.