Aws-cli: إضافة القدرة على تحديد النطاق الترددي لعمليات التحميل / التنزيلات الخاصة بخدمة S3

تم إنشاؤها على ١٣ يناير ٢٠١٥  ·  67تعليقات  ·  مصدر: aws/aws-cli

أصلي من 1078 # ، هذا طلب ميزة لإضافة إمكانية للأوامر aws s3 للحد من مقدار النطاق الترددي المستخدم للتحميلات والتنزيلات.

في المسألة المشار إليها ، تمت الإشارة على وجه التحديد إلى أن بعض مزودي خدمة الإنترنت يتقاضون رسومًا إذا تجاوزت معدل نقل بيانات معين في الثانية ، لذلك يحتاج المستخدمون إلى القدرة على تقييد النطاق الترددي.

أتخيل أن هذا شيء نحتاج فقط لإضافته إلى أوامر aws s3 .

feature-request s3 s3bandwidth

التعليق الأكثر فائدة

قم فقط بتفجير الإنترنت في مكتب مشترك.
ستكون هذه ميزة رائعة عندما تريد أن تكون لطيفًا مع الآخرين
👍

ال 67 كومينتر

مرحبا جيمسيس ،
هل يمكنك تقديم إطار زمني عندما يصبح حد النطاق الترددي متاحًا؟
شكرا
أوستننوو

: +1:

: +1:

: +1:

: +1:

: +1:

: +1:

: +1:

: +1:

في ظل أنظمة نكهة Unix ، يكون الهزيلة مفيدًا للاختناق المخصص. trickle ربط واجهات برمجة تطبيقات مأخذ التوصيل باستخدام LD_PRELOAD وعرض النطاق الترددي الخانق.

يمكنك تشغيل أوامر شيء مثل

$ trickle -s -u {UPLOAD_LIMIT(KB/s)} command
$ trickle -s -u {UPLOAD_LIMIT(KB/s)} -d {DOWNLOAD_LIMIT(KB/s)} command

ستكون الميزة المضمنة مفيدة حقًا ، ولكن نظرًا لطبيعة AWS-CLI متعددة الأنظمة الأساسية ، فقد يكلف تنفيذها وصيانتها الكثير.

تم ذكر Trickle على وجه التحديد في الإصدار رقم 1078 المرتبط به في التعليق الأول هنا. لا يلعب الاثنان (الوشل و AWS-CLI) بشكل جيد معًا في تجربتي.

: +1:

: +1:

+1

+1

: +1:

+1

+1

: +1:

(و)

: +1:

: +1: هذا مطلوب بشدة!

: +1:

: +1:

+1

+1

: +1:

👍

أي تحديث على هذه الميزة؟

: +1:

image

: +1:

👍

👍

أي تحديثات على هذا؟

👍

👍

👍

👍

👍

: +1:

من ناحية: أسرع بكثير من s3cmd.
من ناحية أخرى: أوقفت شركة الاستضافة الخاصة بي الخادم تلقائيًا لاستخدامه "كميات كبيرة من النطاق الترددي بشكل مثير للريبة".
اقترح أحدهم aws configure set default.s3.max_concurrent_requests $n حيث يكون $ n أقل من 10. لست متأكدًا مما إذا كان هذا كافياً ؛ سيحقق في أداة الوشل المذكورة أعلاه.

👍

بعد مرور أكثر من عامين ، ولا يزال هذا الطلب معلقًا. هل هناك إطار زمني يمكن من خلاله تنفيذ ذلك؟

👍

👍

👍

👍🏿

: +1:

قم فقط بتفجير الإنترنت في مكتب مشترك.
ستكون هذه ميزة رائعة عندما تريد أن تكون لطيفًا مع الآخرين
👍

👍

يمكنك استخدام trickle -s -u 100 aws s3 sync . s3://examplebucket

sofuca هل هذا يعمل بشكل صحيح رغم ذلك؟ هناك العديد من الأشخاص الذين جربوا trickle لهذا لكن النتائج كانت مشكوك فيها. انظر # 1078.

تضمين التغريدة

يعمل بشكل مثالي بالنسبة لي.

الأمر التالي يميز الإنترنت في المكتب ، إنه اتصال 20 ميجابايت / ثانية

aws s3 cp /foo s3://bar

ويتم تحميل الأمر التالي بسرعة 8 ميجا بايت / ثانية

trickle -s -u 1000 aws s3 sync /foo s3://bar

لقطة شاشة للواجهة الخارجية لجدار الحماية الذي أستخدمه
image

👍

ستؤدي ملفات s3 الهزيلة والكبيرة إلى تعطل الوشل

(و)

معذرةً ، ستؤدي ملفات s3 الصغيرة والكبيرة إلى تعطل الوشل باستخدام boto3 مع 10 عمليات تحميل متزامنة (إعدادات افتراضية) ، وسيؤدي تغيير التحميلات المتزامنة إلى حل المشكلة. أريد إضافة هذا في جيثب boto3 ، شكرًا!

👍

لذلك فقد مضى أكثر من 2.5 سنة منذ أن تم افتتاحه. هل هذا الطلب يتم تجاهله فقط؟

بالنسبة لنا ، نستخدم pv (https://linux.die.net/man/1/pv) في هذه الطريقة:

/usr/bin/pv -q -L 20M $l_filepath | /usr/local/bin/aws s3 cp --region "us-east-1" - s3://<s3-bucket>/<path in s3 bucker>

هذا الحل ليس مثاليًا (لأنه يتطلب دعمًا إضافيًا للتصفية والتكرار ، ونحن نفعل ذلك داخل bash loop) ولكنه أفضل بكثير من الهزيلة التي تستخدم في حالتنا 100٪ من وحدة المعالجة المركزية ، وتتصرف بشكل غير مستقر للغاية

هنا لدينا حالة استخدام كاملة من pv (نحد من سرعة التحميل إلى 20 ميجابايت / ثانية == 160 ميجابت / ثانية)

for l_filepath in /logs/*.log-*; do
    l_filename=`basename $l_filepath`
    /usr/bin/pv -q -L 20M $l_filepath | /usr/local/bin/aws s3 cp --region "us-east-1" - s3://$S3BUCKET/${HOSTNAME}/$l_filename
    /bin/rm $l_filepath
done

+1

حالة الاستخدام الواقعي: تحميل كبير جدًا إلى S3 عبر DX ، لا ترغب في تشبع الارتباط والتأثير المحتمل على تطبيقات الإنتاج باستخدام رابط DX.

throttle ، trickle و pv كلها لا تعمل معي على archlinux بأحدث awscli من pip عند التحميل إلى حاوية. لقد قمت أيضًا بتعيين max_concurrent_connections لـ s3 في تكوين awscli على 1 دون أي فرق. سيكون هذا إضافة محل تقدير كبير!

ischoonover يبدو أنك لا تمرر --expected-size إلى aws cli عند استخدامه مع pv ، فهو مفيد جدًا عند محاولة تحميل ملفات كبيرة جدًا

--expected-size (string) This argument specifies the expected size of a stream in terms of bytes. Note that this argument is needed only when a stream is being uploaded to s3 and the size is larger than 5GB. Failure to include this argument under these conditions may result in a failed upload due to too many parts in upload.

@ tantra35 كان الحجم 1 جيجا --limit-rate

نفذ في # 2997.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات