Tsunami UDPでさくらクラウドからAWSにmysqldumpファイル(gzip圧縮)を転送してみたけど、がっかり？失敗？した話（＝＞お粗末だった話）


# 背景

* さくらクラウドのMySQLからdumpをとってAWS EC2においてRDSにリストアしたい
* scpで安直に転送してみたら全然終わらねぇ
* 高速ファイル転送…Tsunami UDPだよね！いっちょやってみっか！（悟空）


# ざっくり手順

* 転送元でmysqldump取得（本稿では割愛）
* 転送元にTsunami UDP インストール
* 転送先にTsunami UDP インストール
* 転送元でtsunamid 起動
* 転送先でtsunami起動→転送元に接続→getコマンド→転送完了→ウマー

# URLとか

* 本家 http://tsunami-udp.sourceforge.net/
* 手順はここを参考にしました http://blog.suz-lab.com/2011/06/tsunami-udp.html
* 同じDC内の転送速度かな？ http://snickerjp.blogspot.jp/2013/04/tsunami-udp-vmdk.html

# サーバスペック

## 転送元（さくらクラウド）

* 3CPU / 8GB / 標準プランストレージ / 石狩第１

## 転送先（AWS）

* m1.xlarge / xfs / Tokyo 


# 手順

## インストール前の準備

makeを入れておく。
すでに入っていたので実行していないコマンドですが参考まで。

```bash:インストール
yum -y install autoconf
yum -y install automake
```

## 転送元にインストール

### ファイルを取得(最新版)
```wget
wget http://sourceforge.net/projects/tsunami-udp/files/latest/download
```

### 展開
```tex:展開
# tar xzvfp download
```

### インストール
```tex:インストール
# cd download
# make
# make install
```


## 転送先にインストール

「転送元にインストール」を参照


## 転送元でtsunamid 起動

```tex:tsunamid
# cd [転送したいファイルがあるディレクトリ]
# ls
lost+found  mysql  nohup.out  work  db.sql.gz
# 
# tsunamid *

The specified 5 files will be listed on GET *:
   1)   lost+found            16384 bytes
   2)   mysql                 4096 bytes
   3)   nohup.out             0 bytes
   4)   work                  4096 bytes
   5)   db.sql.gz   22220727126 bytes

```


## 転送先でtsunami起動→転送元に接続→getコマンド→転送完了

```tex:tsunamid
# cd [ダウンロードしたいディレクトリ]
# tsunami
Tsunami Client for protocol rev 20061025
Revision: v1.1 devel cvsbuild 42
Compiled: Mar 12 2014 22:23:44
tsunami> connect [転送元(tsunamidが動いている)サーバ]
Connected.

tsunami> get db.sql.gz

```

こんな感じの標準出力

…%doneが戻るのはなんでだ？

```bash:標準出力tsunamid側
 erate     ipd  target   block   %done srvNr
  3903 12.00us    12us 16024697  73.85   2
  9749 12.01us    12us 16035006  73.89   2
 16106 12.06us    12us 16044233  73.94   2
 12926 12.09us    12us 16048455  73.96   2
  9374 12.10us    12us 16052957  73.98   2
  7220 12.00us    12us 16057724  74.00   2
  4729 12.00us    12us 16062829  74.02   2
  3313 12.00us    12us 16067917  74.05   2
  2309 12.00us    12us 16073049  74.07   2
  1623 12.00us    12us 16078131  74.09   2
 13881 12.03us    12us 16024860  73.85   2
  3769 12.00us    12us 16037333  73.91   2
 12734 12.03us    12us 16048518  73.96   2
 17149 12.08us    12us 16027676  73.86   2
  4449 12.00us    12us 16038895  73.91   2
  9563 12.01us    12us 16050443  73.97   2
 16357 12.06us    12us 16030427  73.87   2
  4792 12.00us    12us 16042364  73.93   2
  9199 12.01us    12us 16054121  73.98   2
 14339 12.05us    12us 16064911  74.03   2
 12648 12.07us    12us 16074575  74.08   2
  9997 12.09us    12us 16084279  74.12   2
  6548 12.00us    12us 16089374  74.14   2

```

```bash:標準出力tsunami側
             last_interval                   transfer_total                   buffers      transfer_remaining  OS UDP
time          blk    data       rate rexmit     blk    data       rate rexmit queue  ring     blk   rt_len      err 
00:56:30.119 3450   0.04M   76.6Mbps   6.6% 33159500   31.6G   76.4Mbps   0.0%   242     0 8168612      242    74013 R-
00:56:30.471 3450   1.80M   76.6Mbps  37.2% 33162950   31.6G   76.4Mbps   0.0%     0     0 8167543     2048    74013 R-
00:56:30.823 3450   0.00M   76.7Mbps   0.1% 33166400   31.6G   76.4Mbps   0.0%     4     0 8167345        4    74013 R-
00:56:31.175 3450   0.04M   76.7Mbps   3.4% 33169850   31.6G   76.4Mbps   0.0%   122     0 8167307      122    74013 R-
00:56:31.527 3450   0.78M   76.6Mbps  37.2% 33173300   31.6G   76.4Mbps   0.0%     0     0 8166512     2048    74013 R-
00:56:31.878 3450   0.00M   76.7Mbps   0.0% 33176750   31.6G   76.4Mbps   0.0%     1     0 8166352        1    74013 R-
00:56:32.230 3450   0.02M   76.7Mbps   2.1% 33180200   31.6G   76.4Mbps   0.0%    75     0 8166321       75    74013 R-
00:56:32.582 3450   0.49M   76.6Mbps  32.4% 33183650   31.6G   76.4Mbps   0.0%  1654     0 8165722     1654    74013 R-
00:56:32.934 3450  11.06M   76.6Mbps  37.2% 33187100   31.6G   76.4Mbps   0.0%     0     0 8162378     2048    74013 R-
00:56:33.286 3450   0.00M   76.6Mbps   1.4% 33190550   31.7G   76.4Mbps   0.0%    49     0 8162170       49    74013 R-
00:56:33.638 3450   0.33M   76.7Mbps  24.9% 33194000   31.7G   76.4Mbps   0.0%  1144     0 8161730     1144    74013 R-
00:56:33.990 3450   7.64M   76.6Mbps  37.2% 33197450   31.7G   76.4Mbps   0.0%     0     0 8159090     2048    74013 R-
00:56:34.342 3450   0.00M   76.6Mbps   0.5% 33200900   31.7G   76.4Mbps   0.0%    18     0 8158891       18    74013 R-
00:56:34.694 3450   0.13M   76.7Mbps  17.8% 33204350   31.7G   76.4Mbps   0.0%   745     0 8158620      745    74013 R-
00:56:35.046 3450   4.62M   76.6Mbps  37.2% 33207800   31.7G   76.4Mbps   0.0%     0  1927 8156453     2048    74013 R-
00:56:35.397 3450   0.00M   76.6Mbps   0.3% 33211250   31.7G   76.4Mbps   0.0%    12     0 8156254       12    74013 R-
00:56:35.749 3450   0.09M   76.7Mbps  15.0% 33214700   31.7G   76.4Mbps   0.0%   607     0 8156033      607    74013 R-
00:56:36.101 3450   3.80M   76.6Mbps  37.2% 33218150   31.7G   76.4Mbps   0.0%     0     0 8154325     2048    74013 R-
00:56:36.458 3450   0.00M   75.6Mbps   0.1% 33221600   31.7G   76.4Mbps   0.0%     4     0 8154131        4    74013 R-
00:56:36.810 3500   0.04M   77.7Mbps   8.5% 33225100   31.7G   76.4Mbps   0.0%   324     0 8154013      324    74013 R-
00:56:37.162 3450   2.04M   76.6Mbps  37.2% 33228550   31.7G   76.4Mbps   0.0%     0     0 8152677     2048    74013 R-
00:56:37.514 3450   0.00M   76.7Mbps   1.5% 33232000   31.7G   76.4Mbps   0.0%    54     0 8152488       54    74013 R-
00:56:37.866 3450   0.36M   76.6Mbps  36.3% 33235450   31.7G   76.4Mbps   0.0%  1964     0 8151739     1964    74013 R-
```

## 転送元のtsunamid 停止

ctrl + c



# 実行結果

実ファイルのサイズよりだいぶ転送しているみたいで
（errのカウントが多いからか）
File data             : 169530.69 Mbit

に対して

Total packet data     : 416341.82 Mbit

倍以上のサイズ送っている感じ。

Throughput            : 76.47 Mbps
出ているけど、対ファイルで見ると
Final file rate       : 31.14 Mbps
このくらいの速度。

 # 31.14 Mbps = 3.8925 MBps
 # Mb(メガビット)、MB（メガバイト）

```
01:30:44.098 3450   5.88M   76.3Mbps   0.0% 53289300   50.8G   76.5Mbps   0.0%     0     0       0        0    78700 R-
Transfer complete. Flushing to disk and signaling server to stop...
!!!!
PC performance figure : 78700 packets dropped (if high this indicates receiving PC overload)
Transfer duration     : 5444.36 seconds
Total packet data     : 416341.82 Mbit
Goodput data          : 395944.62 Mbit
File data             : 169530.69 Mbit
Throughput            : 76.47 Mbps
Goodput w/ restarts   : 72.73 Mbps
Final file rate       : 31.14 Mbps
Transfer mode         : lossless

tsunami> 
```


# scpのほうが早い…

scpで送ったら40分くらいで転送できちゃった。
詳細は別途調べる。


# 100Mbps共用じゃ、びっくりする結果は出ない

http://cloud.sakura.ad.jp/specification.php

```
ネットワーク
インターネット接続回線
各サーバにはインターネット接続回線（共有セグメント100Mbps）
```

お粗末でした。