GNU/Linux >> Linux の 問題 >  >> Cent OS

Centos –プロセスで使用される帯域幅を制限する方法は?

毎晩ファイルをバックアップするCentOS5.7サーバーがあります。サーバーがホストするさまざまなサイトへの訪問者が、バックアップがネットワークを介して転送されている間、パフォーマンスが低下するのではないかと心配しています。

プロセスの最大許容スループットをネットワークインターフェイスに制限することは可能ですか? SSHベースのファイル転送を使用可能な帯域幅の半分に制限したいと思います。これはサーバー側またはクライアント側にある可能性があります。つまり、接続を開始するクライアントまたは接続を受信するサーバーのいずれかでこれを実行できれば幸いです。

(残念ながら、バックアップ専用のインターフェースを追加することはできません。利用可能なスループットを増やすことはできますが、それは単にネットワーク転送がより速く完了することを意味しますが、それでも接続の総容量を最大にします。)

いくつかの背景

おそらく、いくつかの背景が整っています。一歩下がると、バックアップ自体を作成するのに十分なローカルスペースがないという問題がありました。 SSHFSを入力してください!バックアップは、表面上はローカルドライブに保存されるため、Webサーバー自体にバックアップビットが存在することはありません。

なぜそれが重要なのですか?それは由緒あるrsync --bwlimitの使用を無効にするように思われるからです 。 rsync 実際に転送を行っておらず、できません バックアップファイルを保存するためのスペースを確保することすらできないからです。

「待ってください、なぜバックアップファイルを作成する必要があるのですか? rsyncだけではないのはなぜですか ソースファイルとフォルダ?」 「Plesk」と呼ばれる迷惑なものがミックスされているからです!これは、便宜上Pleskを使用するクライアント向けのWebホストです。そのため、Pleskを使用してバックアップを開始します。これは、Pleskがバックアップにあらゆる種類の追加の魔法を追加して、復元手順中にバックアップを非常に安全に消費できるようにするためです。

悲しい顔

承認された回答:

iptablesを使用できます パケットにマークを付けるには(–pid-owner…)、tcを使用します トラフィックを形成するため。
「–sid-owner」を使用して、そのプロセスのスレッドと子を含めることもできます。

http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html#OWNERMATCH

一致 –pid-owner
カーネル 2.3、2.4、2.5、2.6
iptables -A OUTPUT -m owner –pid-owner 78
説明 この一致は、パケットの原因となったプロセスID(PID)に基づいてパケットを一致させるために使用されます。この一致を使用するのは少し難しいですが、1つの例は、PID 94がHTTPポートからパケットを送信できるようにすることだけです(もちろん、HTTPプロセスがスレッド化されていない場合)。または、特定のデーモンのps出力からPIDを取得し、そのルールを追加する小さなスクリプトを作成することもできます。たとえば、Pid-owner.txtの例に示すようなルールを設定できます


Cent OS
  1. CentOS8にTeamspeak3サーバーをインストールする方法

  2. CentOSでホスト名を変更する方法

  3. CentOS 8でDHCPサーバーをセットアップする-その方法は?

  1. CentOS7でOpenVPNサーバーをセットアップする方法

  2. CentOS7にMinecraftサーバーをインストールする方法

  3. RHEL/CentOS 6,7 :特定のプロセス/アプリケーションで使用される hugepage のサイズを計算する方法

  1. CentOS8にNginxをインストールする方法

  2. CentOS8にPostgreSQLをインストールする方法

  3. CentOS8にMariaDBをインストールする方法