特定のアプリケーションのアップロード速度を制限する方法はありますか?

特定のアプリケーションのアップロード速度を制限する方法はありますか?

マシン全体を制限せずに、アプリケーションのアップロード速度に制限を設定する方法を探しています。

使用例は次のとおりです。

ユーザー (自分) は、ビデオ ホスティング サイトにアップロードする目的で大きなファイルを作成します。ただし、ファイルが大きく、インターネット接続が遅いため、これらのファイルをアップロードするのに何時間も (多くの場合、数十時間も) かかることがあります。

ファイルのアップロード中は、インターネットの使用が非常に困難になります。ファイルのアップロードによってアップストリームが完全に占有されるためです。

目標は、ブラウザをインターネット接続速度の 80% に制限できるようにすることです。

完璧な解決策は、何も再起動したりアップロード自体を中断したりすることなく、アップロードのプロセス中に制限を変更できるようにすることです。(ユーザーが昼寝をしたり、お風呂に入ったり、何か食べたりしたい場合、一時的にアップロードに ISP 制限の 100% を使用させることができるとします)。

答え1

インストールしてみる滴り落ちる

sudo apt-get install trickle

Trickle は、自発的で協力的な帯域幅シェーパーです。完全にユーザーランドで動作し、非常に使いやすいです。

最も単純なアプリケーションは、プログラムの帯域幅の使用を制限することです。

ここに参考資料があります:http://www.tuxradar.com/content/control-your-bandwidth-trickle

答え2

はい、iptables を使用してプロセス (--pid-owner) に基づいてパックをマークし、tc を使用して帯域幅を制限できます。

読んでみてくださいこのリンクたとえば、HTTP 送信トラフィック シェーピングを見てみましょう。同じことを実行することを想像してください。ただし、iptables マーク ルールをポート 80 ではなく PID に適用します。

関連情報