stdoutの出力レートを制限する方法は?

stdoutの出力レートを制限する方法は?

私はCentOS 5.7を実行しており、オプションでバックアップファイルをstdout。ターゲットはSSHFSファイルシステムです。帯域幅を消費せず、ネットワークのパフォーマンスを低下させないために、データが「ディスク」に書き込まれる速度を制限したいと思います。

stdoutバイト数に応じて機能を制限する方法は?たとえば、プロセスの書き込み機能を約768Bpsに制限します。

答え1

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

例えばpv速度制限オプションがあります。

-L RATE, --rate-limit RATE

転送を毎秒最大RATEバイトに制限します。キロバイト(* 1024)、メガバイトなどを表すために、サフィックス「k」、「m」、「g」、または「t」を追加できます。

別のオプションはツールです。buffer含む:

   -u microseconds

各書き込みはこのマイクロ秒の間中断されます。デフォルト値は 0 です。 (驚くべきことに、各書き込み後の短いスリープモード(100us)は、一部のドライブのスループットを大幅に向上させることができます。)

答え2

リモートボリュームに直接書き込むよりもローカルディスクにダンプしたいです。これにより、rsyncwithを使用して--bwlimit転送を簡単に制限できます。

このアプローチの利点の1つは、リモートコンピュータの接続に問題があると転送が中断されますが、バックアップ自体が突然爆発しないことです。

答え3

太陽光(パイプラインビュー)

echo asdlfkjasdf | pv -q -L 12

関連情報