
マシン全体を制限せずに、アプリケーションのアップロード速度に制限を設定する方法を探しています。
使用例は次のとおりです。
ユーザー (自分) は、ビデオ ホスティング サイトにアップロードする目的で大きなファイルを作成します。ただし、ファイルが大きく、インターネット接続が遅いため、これらのファイルをアップロードするのに何時間も (多くの場合、数十時間も) かかることがあります。
ファイルのアップロード中は、インターネットの使用が非常に困難になります。ファイルのアップロードによってアップストリームが完全に占有されるためです。
目標は、ブラウザをインターネット接続速度の 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 に適用します。