wget
またはのダウンロード速度を調整(制限)することは可能curl
ですか?
ダウンロード中にスロットル値を変更することは可能ですか?
SIGSTOP
またはctrl + z を使用してプロセスを中断し、後でSIGCONT
またはfgを使用してプロセスを再開できます。これにより、ダウンロードプロセスが一時停止します。
wget
またはのダウンロード速度を調整(制限)することは可能curl
ですか?
ダウンロード中にスロットル値を変更することは可能ですか?
SIGSTOP
またはctrl + z を使用してプロセスを中断し、後でSIGCONT
またはfgを使用してプロセスを再開できます。これにより、ダウンロードプロセスが一時停止します。
回答:
はい、wgetとcurlの両方がダウンロード速度の制限をサポートしています。両方のオプションは、manページに直接記載されています。
--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
--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
wget
もありませんcurl
。
tc
およびnetem
ツールを使用してトラフィックレートを制限することは可能ですが、これによりコンピュータのネットワークインターフェイスのレートが制限されます。ネットワークインターフェイスを介してトラフィックを交換しているのは、他のアプリケーションのみであるwget
かcurl
、または他のアプリケーションを使用していないことを前提としています。
tc
トークンバケットフィルター(TBF)を使用してレートを制御します。
TBFの1つの例は次のとおりです(参照:http : //www.lartc.org/manpages/tc-tbf.html)。
0.5mbit / sの持続最大レート、1.0mbit / sのピークレート、5キロバイトのバッファー、およびバケット前のキューサイズ制限を計算してTBFが最大で70msのレイテンシを引き起こし、完全なピークレート動作を行うTBFを接続するには、 問題:
# 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/networking/netemにあります)。
netemディシプリンにレート制御は組み込まれていません。代わりに、レート制御を行う他のディシプリンのいずれかを使用してください。この例では、トークンバケットフィルター(TBF)を使用して出力を制限します。
インターフェースeth0を通過する各パケットの遅延を追加するには
# tc qdisc add dev eth0 root handle 1:0 netem delay 100ms
tbfのデータレート、パケットバッファサイズ、および最大バースト制限を追加するには
# tc qdisc add dev eth0 parent 1:1 handle 10: tbf rate 256kbit buffer 1600 limit 3000
インターフェイスeth0のtcに割り当てられたルールのリストを表示するには
# 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 )
これらよりも大きいデフォルトが必要な場合があるため、バッファと制限のオプションを確認してください(バイト単位です)