ডাউনলোডের সময় উইজেট বা কার্লের ডাউনলোডের গতিটি থ্রটল করুন


97

রোধ এটা কি সম্ভব করার জন্য (সীমা) এর ডাউনলোডের গতি wgetবা curl?

ডাউনলোড করার সময় থ্রটলের মান পরিবর্তন করা কি সম্ভব?


3
না ডাউনলোডের সময় গতি পরিবর্তন করা সম্ভব নয়। ফাইট্রাট বা মাল্টিজেটের মতো গুই ডাউনলোড ম্যানেজারগুলিতে একবার দেখুন
উলরিচ ড্যাঙ্গেল

3
তবে আপনি প্রক্রিয়াটি SIGSTOPসিআরটিএল + জেড এর মাধ্যমে স্থগিত করতে পারেন এবং এটিকে পরে SIGCONTবা এফজি দিয়ে পুনরায় শুরু করতে পারেন । এটি ডাউনলোড প্রক্রিয়াটি বিরতি দেওয়া উচিত।
উলিচ ড্যাঞ্জেল

আমি ভাবছি যদি কোনও চলমান প্রোগ্রাম থ্রোল্ট করার জেনেরিক উপায় থাকে, যেমন পরিবেশের পরিবর্তনশীল সেট করার মাধ্যমে via
এহতেশ চৌধুরী

@ উলরিচ-ড্যাঞ্জেল - লিমিট-রেট = পরিমাণ
চিপস

উত্তর:


131

হ্যাঁ উইজেট এবং কার্ল উভয়ই আপনার ডাউনলোডের হার সীমাবদ্ধ করে। দুটি বিকল্পই ম্যান পৃষ্ঠায় সরাসরি উল্লেখ করা হয়েছে।

কার্ল

   --limit-rate <speed>
          Specify the maximum transfer rate you want curl to use. 
           This feature is useful  if you  have a limited pipe and 
           you'd like your transfer not to use your entire bandwidth.

          The given speed is measured in bytes/second, unless a suffix 
          is appended.  Appending  'k'  or 'K' will count the number
          as kilobytes, 'm' or M' makes it megabytes, while 'g' or 'G' 
          makes it gigabytes. Examples: 200K, 3m and 1G.

উদাহরণ: curl --limit-rate 423K

wget হয়

   --limit-rate=amount
       Limit the download speed to amount bytes per second.  Amount may
       be expressed in bytes, kilobytes with the k suffix, or 
       megabytes with the m suffix.  For example, --limit-rate=20k will limit 
       the retrieval rate to 20KB/s.  This is useful when, for
       whatever reason, you don't want Wget to consume 
       the entire available bandwidth.

উদাহরণ: wget --limit-rate=423k


2
ডাউনলোডের প্রক্রিয়া চলাকালীন কি এটিকে পরিবর্তন থেকে পরিবর্তন করা সম্ভব?
গৌতম

2
@GautamK কোন হিসাবে তন্ন তন্ন wgetনা curlইন্টারেক্টিভ প্রোগ্রাম আছে।
উলরিচ ড্যাঙ্গেল

12
এক বড় ফাইল জন্য @GautamK, যদি সার্ভার এটিকে স্বীকার করলে, আপনি হত্যা করতে পারে wgetবা curlপ্রক্রিয়া এবং নিয়ে পুনরায় শুরু wget -cবা curl -C। আপনার যদি সত্যিই একটি চলমান প্রক্রিয়া পুনরায় কনফিগার করতে প্রয়োজন হয় তবে একটি ডেমন দিয়ে ট্রিকল ব্যবহার করুন - তবে সেটআপটি কিছুটা জটিল। বিকল্পভাবে, ট্র্যাফিক গঠনের দিকে নজর দিন - আবার জটিল হলে সেটআপ।
গিলস

4

2 বছর পরে আমি এই টিডিবিটটি নিক্ষেপ করব, wgetএবং curlইন্টারঅ্যাকটিভ না থাকাকালীন , কমপক্ষে wget(এবং সম্ভবত curlআমি নিশ্চিত তা জানি না) এর -cসুইচ রয়েছে (যা আমি আগে ডাউনলোড করা ছেড়ে দিয়েছি বলে চালিয়ে যায়)। সুতরাং যদি আপনাকে কোনও ডাউনলোডের মাঝখানে আপনার গতি পরিবর্তন করতে হয় এবং আপনি সম্ভবত সেই সাথে -cস্যুইচটি ব্যবহার করেন --limit-rate=xতবে আপনি থামাতে wgetএবং এটি একটি অন্য গতি দিয়ে পুনরায় আরম্ভ করতে পারবেন এবং এটি পরিবর্তিত হবে change


2

ট্র্যাফিক হার tcএবং netemসরঞ্জামগুলি ব্যবহার করে সীমাবদ্ধ করা সম্ভব তবে এটি কম্পিউটারের নেটওয়ার্ক ইন্টারফেসের জন্য সীমাটিকে সীমাবদ্ধ করবে। আমি ধরে নিচ্ছি যে আপনি কেবল ব্যবহার করেন wgetবা curlঅন্য কোনও অ্যাপ্লিকেশন নেটওয়ার্ক ইন্টারফেসের মাধ্যমে ট্র্যাফিকের বিনিময় করে না।

tc হার নিয়ন্ত্রণ করতে টোকেন বালতি ফিল্টার (টিবিএফ) ব্যবহার করে।

টিবিএফ-এর একটি উদাহরণ নিম্নরূপ হবে (রেফারেন্ট http://www.lartc.org/manpages/tc-tbf.html ):

একটি স্থিতিশীল সর্বোচ্চ হারে 0.5mbit / s, একটি শীর্ষস্থানীয় 1.0mbit / s, একটি 5 কিলোবাইট বাফার সহ একটি টিবিএফ সংযুক্ত করার জন্য, নিখুঁত শিখর আচরণের সাথে টিবিএফ সর্বাধিক 70 মিলিয়ন বিলম্বিত করে , সমস্যা:

# tc qdisc add dev eth0 root tbf rate 0.5mbit \ burst 5kb latency 70ms peakrate 1mbit \ minburst 1540

Usign tc এবং netem এর আরও একটি উদাহরণ নিম্নরূপ হবে ( http://www.linuxfoundation.org/collaborate/workgroups/netering/netem এ পাওয়া যায় ):

নেটিম শৃঙ্খলে অন্তর্নির্মিত কোনও রেট নিয়ন্ত্রণ নেই, পরিবর্তে অন্যান্য নিয়মাবলীগুলির মধ্যে একটি ব্যবহার করুন যা রেট নিয়ন্ত্রণ করে। এই উদাহরণে, আমরা আউটপুট সীমাবদ্ধ করতে টোকেন বালতি ফিল্টার (টিবিএফ) ব্যবহার করি।

ইন্টারফেসের ইথ 0 এর মাধ্যমে প্রতিটি প্যাকেট চলতে / আসা করতে দেরি করতে

 # tc qdisc add dev eth0 root handle 1:0 netem delay 100ms

টিবিএফ, প্যাকেট বাফার আকার এবং সর্বাধিক বিস্ফোরণ সীমাতে ডেটা হার যুক্ত করতে

 # tc qdisc add dev eth0 parent 1:1 handle 10: tbf rate 256kbit buffer 1600 limit 3000

ইন্টারফেস eth0 এর জন্য টিসি-তে নির্ধারিত নিয়মের তালিকা দেখতে

 # tc -s qdisc ls dev eth0

উপরের কমান্ডের আউটপুট নীচের মত হবে

 qdisc netem 1: limit 1000 delay 100.0ms
  Sent 0 bytes 0 pkts (dropped 0, overlimits 0 )
 qdisc tbf 10: rate 256Kbit burst 1599b lat 26.6ms
  Sent 0 bytes 0 pkts (dropped 0, overlimits 0 )

বাফার এবং সীমাবদ্ধতার বিকল্পগুলি পরীক্ষা করুন কারণ আপনি দেখতে পাচ্ছেন যে এগুলির চেয়ে আপনার আরও বড় ডিফল্ট প্রয়োজন (সেগুলি বাইটে রয়েছে)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.