Best practice per i trasferimenti di file system

In questa pagina vengono descritte le best practice per i trasferimenti del file system.

Best practice per le prestazioni

Di seguito sono riportate le best practice per garantire buone prestazioni di trasferimento:

  • Massimizza le prestazioni dell'agente di trasferimento.

  • Confronta le tue prestazioni trasferendo un grande corpus di dati, in genere a di almeno 100 GB.

    Storage Transfer Service è un servizio di trasferimento rapido su larga scala quindi il rendimento su set di dati di test molto piccoli non è indicativo. delle prestazioni su set di dati di grandi dimensioni in produzione.

  • Limita le singole cartelle di origine a 1 milione di file. Directory contenenti milioni di file possono rallentare l'intero trasferimento.

  • Esegui gli agenti in macchine virtuali (VM) separate per scalare le tue e il consumo di risorse in modo più efficace.

  • Verifica che l'interfaccia di rete sulle macchine degli agenti sia dimensionata per e la larghezza di banda di lettura/scrittura necessaria.

    Ad esempio, se intendi utilizzare completamente una rete Wide Area a 20 Gbit/s (WAN), l'interfaccia di rete della macchina dell'agente deve supportare 20 Gbit/s per legge i dati dal tuo file system in rete e altri 20 Gbit/s per trasferire i dati in Cloud Storage, ovvero 40 Gbit/s della larghezza di banda totale.

  • Monitora CPU, memoria e rete sulle macchine degli agenti per assicurarti che Le macchine non sono sovraccaricate da altri carichi di lavoro, poiché ciò può influisce sulle prestazioni. Consulta le requisiti hardware degli agenti per le cifre suggerite di memoria e CPU.

Caricamenti multiparte

Se il trasferimento proviene da un file system POSIX a Cloud Storage o tra file system POSIX, valuta la possibilità di abilitare caricamenti multiparte. I caricamenti multiparte possono accelerare i trasferimenti che includono file di grandi dimensioni fino al 300% suddividendo i file di grandi dimensioni (>1 GiB) in parti più piccole e caricandoli parti in parallelo.

I file system compatibili con HDFS e S3 non supportano i caricamenti multiparte.

Abilita caricamenti multiparte

Per attivare i caricamenti multiparte:

  • Devi concedere le autorizzazioni richieste a L'account che autorizza gli agenti di trasferimento: un account utente o un servizio .

  • Il bucket intermedio o di destinazione non deve avere un criterio di conservazione blocco dell'oggetto.

Una volta abilitato, Storage Transfer Service utilizza il caricamento multiparte automaticamente quando questo accelererà probabilmente il trasferimento.

configura le regole del ciclo di vita degli oggetti multiparte

Puoi utilizzare Gestione del ciclo di vita degli oggetti Cloud Storage per interrompere un evento incompleto eseguire il caricamento multiparte ed eliminare le parti associate. Consulta Interrompi i caricamenti multiparte incompleti nella sezione. documentazione di Cloud Storage.

Ti consigliamo di impostare un valore age di 7 giorni.

Disattiva caricamenti multiparte

Per disabilitare i caricamenti multiparte, reinstalla gli agenti di trasferimento utilizzando docker run e supera --enable-multipart=false:

sudo docker run --ulimit memlock=64000000 -d --rm \
-v /usr/local/research:/usr/local/research \
gcr.io/cloud-ingest/tsop-agent:latest \
--project-id=PROJECT_ID \
--agent-pool=AGENT_POOL \
--creds-file=CREDENTIAL_FILE \
--hostname=$(hostname) \
--enable-multipart=false

Sostituisci quanto segue:

  • PROJECT_ID specifica l'ID progetto che ospita il trasferimento.
  • CREDENTIAL_FILE: se l'agente di trasferimento utilizza un account di servizio per l'autenticazione, specifica il percorso di un file in formato JSON le credenziali dell'account di servizio.

In alternativa, revoca le autorizzazioni richieste da L'account che autorizza gli agenti di trasferimento: un account utente o un servizio .

Massimizza le prestazioni dell'agente di trasferimento

Le prestazioni del trasferimento sono interessate dalle seguenti variabili:

  • Funzionalità del file system.

  • Limitazioni hardware sottostanti.

    Tipo di supporto del disco rigido, bus di input/output e LAN (Local Area Network) tutti i componenti della connettività influiscono sulle prestazioni.

  • la velocità effettiva e l'utilizzo della WAN.

    Una WAN più lenta o molto utilizzata rallenta le prestazioni.

  • Caratteristiche del file.

    Ad esempio, molti file di grandi dimensioni hanno una rete rispetto a molti file di piccole dimensioni a causa dell'overhead di rete.

A causa di queste variabili, non possiamo prevedere il rendimento effettivo né fornire una il numero ottimale di agenti da usare.

Ti consigliamo di utilizzare almeno tre agenti su macchine diverse se possibile, in modo che il trasferimento rimanga a tolleranza di errore. Puoi aggiungere un trasferimento degli agenti mentre sono in esecuzione i trasferimenti, con l'aumento dinamico delle prestazioni.

Per osservare l'impatto dell'aggiunta di agenti e scegliere il numero di agenti che più adatto al tuo ambiente:

  1. Avvia un trasferimento di grandi dimensioni che richiede almeno un'ora. Ad esempio: avvia un trasferimento che contenga almeno 100.000 file e che sia 100 GB di spazio totale.

  2. Utilizza le funzionalità di Cloud Monitoring per osservare la velocità effettiva complessiva dell'agente.

  3. Attendi che la velocità effettiva raggiunga un livello e determina se è limitata dalla dalla capacità della rete WAN o dal limite della larghezza di banda.

  4. Se non hai saturato la capacità della tua WAN e non hai raggiunto la tua limite di trasferimento desiderato, aggiungi un altro agente. L'agente aggiuntivo aumenta automaticamente la velocità effettiva di trasferimento. Attendi circa 3 minuti per la velocità effettiva viene stabilizzata in Cloud Monitoring.

Ripeti i passaggi 3 e 4, aggiungendo un agente alla volta fino a raggiungere limite. Finché le risorse computazionali, di file system e di rete sono puoi eseguire contemporaneamente fino a 100 agenti per pool di agenti.

Se saturari la larghezza di banda in uscita prima di raggiungere il limite desiderato, può eseguire una delle seguenti operazioni:

Se hai aggiunto agenti, ma la velocità effettiva non è in aumento e la tua rete WAN non è in aumento saturato, esamina la velocità effettiva del file system. In rari casi la velocità effettiva del file system è satura, ostacolando la capacità per aumentare le prestazioni del trasferimento.

Denominazione degli agenti

Quando denomina gli agenti, ti consigliamo di procedere come segue:

  • Includi sempre il nome host nell'agente. Questo ti aiuta a trovare e la macchina su cui è in esecuzione un agente. Ti consigliamo di superare --hostname=$(hostname) al comando Docker run.

  • Scegli uno schema del prefisso dell'agente che ti aiuti a identificare gli agenti nel contesto dell'organizzazione dell'infrastruttura e del monitoraggio. Ad esempio:

    • Se hai tre progetti di trasferimento separati, potresti voler includere il nome del team nell'agente. Ad esempio, logistics.

    • Se esegui due progetti di trasferimento diversi per due diversi data center, è consigliabile includere nell'agente il nome del data center . Ad esempio, omaha.