VK Cloud logo

AWS CLI арқылы үлкен файлдардың баяу жүктелуі

AWS CLI арқылы өлшемі 100 МБ-тан үлкен файлдарды жүктеу жылдамдығы интернет-арнаның өткізу қабілетінен едәуір төмен болады.

Файлдарды бір TCP-қосылым арқылы жіберген кезде мәселе желінің жоғары кідірісіне (latency) байланысты туындауы мүмкін. Интернет-арнаның өткізу қабілетін барынша пайдалану үшін файлды бір уақытта бірнеше ағынмен жүктеңіз. Ол үшін құрамдас жүктеуді пайдаланып, жағдайыңызға ең қолайлы түрде бір уақытта жүктелетін файл бөліктерінің санын және олардың өлшемін таңдаңыз:

  • Әр бөліктің өлшемін ұлғайту API сұрауларының жалпы санын және қызметтік трафикті азайтады, бұл трафиктің жалпы көлемін қысқартады.
  • Параллель жүктелетін бөліктер санын көбейту файлды жүктеудің жалпы уақытын қысқартады. Алайда бұл тәсіл процессорыңыздың қуатымен және интернет-арнаның өткізу қабілетімен шектеледі.

Шешімі

  1. AWS CLI арқылы бакетке объектілерді жүктеу үшін aws s3api put-object емес, aws s3 cp командасы қолданылатынына көз жеткізіңіз. aws s3 cp командасы өлшемі multipart_threshold параметрінің мәнінен (әдепкі бойынша 8 МБ) асатын объектілер үшін құрамдас жүктеуді автоматты түрде қолданады.

  2. Құрамдас жүктеу параметрлерін оңтайландырыңыз:

    aws configure set default.s3.<ИМЯ_ПАРАМЕТРА> <ЗНАЧЕНИЕ>

    Мұнда:

    • <ИМЯ_ПАРАМЕТРА> — құрамдас жүктеу параметрінің атауы:

      • multipart_threshold: құрамдас жүктеу үшін қажет файлдың ең кіші өлшемі (әдепкі бойынша 8 МБ).
      • multipart_chunksize: құрамдас жүктеу кезіндегі файл бөліктерінің өлшемі (әдепкі бойынша 8 МБ).
      • max_concurrent_requests: параллель жүктелетін файл бөліктерінің саны (әдепкі бойынша 10).
    • <ЗНАЧЕНИЕ> — құрамдас жүктеу параметрінің жаңа мәні.