harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

GNU/Linux infra network メモ

rsyncの帯域制限オプション(bwlimit)を試す

投稿日:2010年11月4日

Last Updated on 2016年6月24日 by かんりにん

出向先のLAN環境にて、でかいバックアップファイルをrsyncで別ホストに転送しようとしたら、イントラ用Webサービスのレスポンスが全体的に低下してしまった~。
中断して調べたところ、100base-T環境で常時7~80Mbps程度使われていた様子(休日だったので社内には誰もおらず、業務影響は無し。ふぅ~)。

とはいえ自分がメンテ作業でイントラサービスを使うので、そちらになるべく影響を与えないよう、rsyncのbwlimitオプションを使い、帯域を制限してひっそりと転送作業を実施。
サーバー環境はCentOS5です。

▼参考サイト:お世話になっております!

rsyncのbwlimitオプション
http://matsu.teraren.com/blog/2010/10/28/rsync-bwlimit/
バイト変換
http://byte.yonelabo.com/
 

▼ポイント

bwlimitオプションで指定する単位はKBPS(キロバイト)なので、注意。
bpsに直すときはビットなので8倍にすること。

 --bwlimit=KBPS

 

▼実際に試してみた

以下、SERVER01の/home/user/以下にあるTESTFILE.txt(サイズは約2.5MB)を
SERVER02の/home/user/へ転送する際に帯域制限の有無をつけて比較。
転送速度が変わるので実行時間も比較するため”time”コマンドで計測。tcshなので少々表示が異なります。
 

1)bwlimitオプションなし(通常動作)

SERVER01@~/src : time rsync -avz -e ssh TESTFILE.txt user@SERVER02:/home/user/
user@SERVER02's password:
building file list ... done
TESTFILE.txt

sent 2484156 bytes  received 42 bytes  261494.53 bytes/sec
total size is 2483180  speedup is 1.00
0.126u 0.014s 0:08.84 1.4%      0+0k 0+0io 1pf+0w

 
こちらは普通に速度が出ている。あくまで比較用として。

2)bwlimitオプションあり(帯域制限あり)

以下の例では、125KBps(ビット換算だと1Mbps)で転送を実施。

SERVER01@~/src : time rsync --bwlimit=125 -avz -e ssh TESTFILE.txt user@SERVER02:/home/user/
user@SERVER02's password:
building file list ... done
TESTFILE.txt

sent 2484156 bytes  received 42 bytes  97419.53 bytes/sec
total size is 2483180  speedup is 1.00
0.019u 0.006s 0:39.44 0.0%      0+0k 0+0io 0pf+0w

 
こちらはbwlimitで指定した通りの転送速度で完了。
帯域に制限がある場合や、フロントエンドのトラフィックに影響が出ないよう配慮するときはこのオプションを活用すると、迷惑がかけずに安心かも。

-GNU/Linux, infra, network, メモ

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

no image

haproxyを試す 4.ソケット接続とステータス出力

  haproxyでステータスやバックエンドサーバーの状態やプールを確認する場合、コマンドラインからチェックできるツールは無い様子。代わりにソケットリレーツール”socat(SOcketを …

no image

[MySQL] ZRM(Zmanda Recovery Manager) を試してみる

お客さんのWebサイトで運用しているMySQLにて、ここんとこmysqldump実行時にエラーが出るように。 レプリケーションにてスレーブ2ホストで同期しているので、ダンプのエラー自体は緊急性は高くな …

[nagios] nagios plugin downtime_sched(ダウンタイムスケジューラ)

  以前設定した、Recurring scheduleのアップデート版”downtime_sched”のインストール。 前回インストール後に全然アップデートしてなかった。 ちゃ …

no image

monitインストール[RHEL3]

[pukiwiki]   システムマネージメントツールmonitのインストール 監視ツールの発展版といえる、デーモン監視と異常時の再起動などを行う便利ツール。 既にnagiosやzabbixをインスト …

nagios​/plugin​/SNMP​/インストール(コンパイル版)

  [pukiwiki] **nagiosプラグインの環境セットアップ(コンパイル版) [#oac4bee6] リモートホストへsnmpで値を取得する”check_snmp_*&#8221 …

宅麺