GNU/Linux >> Linux の 問題 >  >> Linux

Linux – Cgroup間で公平な帯域幅共有を構成するにはどうすればよいですか?

tcの使い方はかなり簡単です Stochastic Fairness Queuing(SFQ)を使用して、フロー間の公平な帯域幅共有を構成します。 、ただし、アプリケーションは複数のフローを開き、帯域幅の不公平なシェアを取得する可能性があります。 アプリケーション間で公平な帯域幅共有を構成することは可能ですか? 代わりに?

各アプリケーションをcgroupにグループ化することは、明確な最初のステップのように思えます。 SFQがクラスIDのハッシュをサポートしている場合、tc filterを使用するのは簡単です。 各cgroupにクラスIDを割り当てます。残念ながら、SFQはこれをサポートしていないようです。もう1つの有望なアプローチは、クラス間で加重ラウンドロビンを実行するCBQを使用することです。残念ながら、重みをすべて等しくすることはうまくいかないようです。

cgroup間で帯域幅を公平に共有する別の方法はありますか?

承認された回答:

net_clscgroupコントローラーを確認してください。基本的に、特別なタグ(/mntpoint/net_cls.classidで定義)を添付します そのcgroup内のアプリケーションに関連付けられたソケットで発信される各パケットに。後でこの「タグ」をclassidとして使用できます qdiscに接続されたフィルターで、トラフィックの送信元のcgroupに基づいてトラフィックをさまざまなクラスに渡します。

このトピックで私が見つけた唯一のドキュメントは、いくつかのRedHatスライド[Google経由のHTML]です。


Linux
  1. LinuxでVimをデフォルトのエディターとして設定する方法

  2. RedhatLinuxで仮想化を構成する方法

  3. LinuxとWindows間でSAMBAサーバーを構成してファイルを転送する方法

  1. LinuxでSSHキーベースの認証を構成する方法

  2. MySQL 用の Linux リソース グループ (cgroups) を構成する方法

  3. Linux はどのようにプロセス間で帯域幅を割り当てますか?

  1. Linuxデスクトップ用にOpenboxを設定する方法

  2. Redhat7Linuxで仮想ネットワークインターフェースを設定する方法

  3. LinuxでChrootSFTPサーバーを構成する方法