stdoutの出力速度を制限するにはどうすればよいですか?


24

CentOS 5.7を実行していますが、バックアップファイルをにダンプするオプションがあるバックアップユーティリティがありますstdout。バックアップファイルはかなり大きい(数ギガバイト)。ターゲットはSSHFSファイルシステムです。帯域幅を独占し、ネットワークのパフォーマンスを低下させないために、データが「ディスク」に書き込まれる速度を制限したいと思います。

stdoutバイト数に基づいて機能を制限するにはどうすればよいですか?たとえば、プロセスの書き込み能力を約768Bpsに制限します。


6
@mswこの質問はレート制限に関するものstdoutで、前の質問はネットワークトラフィックの制限に関するものでした。別の獣
...-voretaq7

7
@msw最後に確認したように、SEネットワークのポイントは特定の分野で膨大な量の知識を収集することです。この場合、約* nixです。の出力をstdout制限することは、帯域幅を制限することとは異なります。根底にある問題が同じだからといって、将来の訪問者がそれぞれの質問を他の質問とは無関係に有用だと思わないというわけではありません。Q&Aは実際の質問者と同じくらいGoogle向けであるため、ここでは回答済みの質問を削除することは非常に重要なことです。
MDマーラ

回答:


27

パイプラインにレート制限ツールを追加できます。

たとえばpv、レート制限オプションがあるものがあります:

-L RATE, --rate-limit RATE

転送を1秒あたり最大RATEバイトに制限します。「k」、「m」、「g」、または「t」のサフィックスを追加して、キロバイト(* 1024)、メガバイトなどを示すことができます。

代替手段は次の機能bufferを備えたツールです。

   -u microseconds

この数マイクロ秒の間、書き込みが一時停止するたびに。デフォルトはゼロです。(驚くほど小さなスリープ、100 usecs、各書き込み後、一部のドライブでスループットが大幅に向上します。)


3

リモートボリュームに直接書き込むのではなく、ローカルディスクにこれをダンプしたいと思うでしょう。この方法を使用するrsync--bwlimit、転送を簡単に制限できます。

このアプローチの利点の1つは、リモートマシンへの接続障害がある場合、転送は中断されますが、バックアップ自体が栄光の炎で爆発しないことです。


注目。私はrsync自分がいるこのかなり限られた状況で実行可能な解決策だったことを願っています。
ウェズリー

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.