Come posso ottimizzare le prestazioni quando utilizzo AWS CLI per caricare file di grandi dimensioni in Amazon S3?
Desidero ottimizzare le prestazioni quando utilizzo l'Interfaccia della linea di comando AWS (AWS CLI) per caricare file di grandi dimensioni (1 GB o più) in Amazon Simple Storage Service (Amazon S3).
Breve descrizione
Se carichi file di grandi dimensioni in Amazon S3, è consigliabile sfruttare i caricamenti in più parti. Se utilizzi AWS CLI, tutti i comandi aws s3 di alto livello eseguono automaticamente un caricamento in più parti quando l'oggetto è di grandi dimensioni. I comandi di alto livello sono aws s3 cp e aws s3 sync.
Per ottimizzare le prestazioni, scegli uno dei seguenti metodi:
- Utilizza il client basato su AWS Common Runtime (CRT) e personalizza le configurazioni del caricamento in più parti.
- Attiva Accelerazione del trasferimento Amazon S3.
Se hai bisogno di trasferimenti di dati su larga scala o carichi di lavoro complessi, utilizza il client basato su AWS CRT per AWS CLI.
Nota: devi utilizzare AWS CLI versione 2 per questo metodo. Se visualizzi messaggi di errore quando esegui i comandi dell'Interfaccia della linea di comando AWS, consulta Risoluzione degli errori relativi ad AWS CLI.
Risoluzione
Utilizza il client basato su CRT con AWS CLI
Attiva il client basato su CRT
Per attivare il client basato su CRT, configura AWS CLI. A tal fine, aggiungi la configurazione al file di configurazione di AWS CLI (~/.aws/config) o utilizza AWS CLI per impostarlo.
Aggiungi preferred_transfer_client al file di configurazione di AWS CLI:
[default] s3 = preferred_transfer_client = crt
Oppure inserisci questo comando nel terminale:
aws configure set default.s3.preferred_transfer_client crt
Configura l'opzione target_bandwidth (facoltativo)
Questa opzione controlla la larghezza di banda della destinazione che il client di trasferimento tenta di raggiungere per caricare e scaricare in S3. Per impostazione predefinita, AWS CLI sceglie una larghezza di banda della destinazione che corrisponde alla larghezza di banda della rete massima del sistema.
Nota: presta attenzione quando configuri il valore target_bandwidth. Se il valore è superiore alle capacità delle risorse locali del client, potresti creare un sovraccarico nel client. È consigliabile lasciare questa opzione impostata su un valore nullo.
Dopo aver attivato il client basato su CRT, AWS CLI utilizza automaticamente il client per le operazioni di Amazon S3, inclusi i caricamenti di file. Ciò migliora le prestazioni e l'affidabilità rispetto alla configurazione standard di AWS CLI, in particolare per il caricamento di file di grandi dimensioni.
Personalizza le configurazioni del caricamento
Personalizza le configurazioni di AWS CLI per Amazon S3 con queste impostazioni:
- max_concurrent_requests: questo valore imposta il numero di richieste che possono essere inviate ad Amazon S3 contemporaneamente. Il valore predefinito è 10.
Nota: se esegui più thread, il computer consuma più risorse. Devi assicurarti che il computer abbia le risorse sufficienti per supportare il numero massimo di richieste concorrenti di cui hai bisogno. - max_queue_size: questo valore imposta il numero massimo di operazioni in coda. Il valore predefinito è 1.000.
- multipart_threshold: questo valore imposta la soglia di dimensione per i caricamenti in più parti di singoli file. Il valore predefinito è 8 MB.
- multipart_chunksize: questo valore imposta la dimensione di ogni parte che AWS CLI carica in un caricamento in più parti per un singolo file. Questa impostazione consente di suddividere un file più grande (ad esempio 300 MB) in parti più piccole per una maggiore velocità di caricamento. Il valore predefinito è 8 MB.
Nota: un caricamento in più parti richiede che un singolo file sia caricato in meno di 10.000 parti distinte. Assicurati che la dimensione impostata per il blocco sia equilibrata tenuto conto della dimensione del file da dividere in parti e il numero di parti. - max_bandwidth: questo valore imposta la larghezza di banda massima per caricare i dati in Amazon S3. Non esiste un valore predefinito.
Attiva Accelerazione del trasferimento Amazon S3
Accelerazione del trasferimento Amazon S3 consente di eseguire trasferimenti rapidi e sicuri su lunghe distanze tra il client e Amazon S3. Accelerazione del trasferimento utilizza le posizioni edge distribuite a livello globale di Amazon CloudFront.
Accelerazione del trasferimento comporta costi aggiuntivi, per cui consulta i prezzi. Per stabilire se Accelerazione del trasferimento effettivamente migliora le velocità di trasferimento nello specifico caso d'uso, utilizza lo strumento di confronto della velocità di Accelerazione del trasferimento Amazon S3.
Nota: Accelerazione del trasferimento non supporta le copie CopyObject tra Regioni AWS.
Informazioni correlate
AWS CLI S3 Configuration (Configurazione di S3 in AWS CLI)
- Argomenti
- Storage
- Lingua
- Italiano
Video correlati

