2台のMacをThunderboldケーブルでつなぎ複数の転送方法の速度を比較
Thunderboltケーブルを使って2台のMacを接続し、各種方法でデータ転送した時の速度を比較した。
使用したMac
- Mac mini (2014)
- MacbookAir 13inch (2017)
転送方法1(ネットワーク)
Thuderboltケーブルを用いて2台のMacをつなげると、自動的にLinklocalアドレス(169.254.xxx.yyy/16)が割り当てられる。システム環境設定のネットワークを参照。
なお、MacではマルチキャストDNS(Bonjour)により、IPアドレスだけではなく、同じくシステム環境設定の共有で設定された「名前」で認識される(接続可能)。
ここでは、Vienna.localを使ってこのMacにアクセスすることができる。例えば、「ssh namae@Vienna.local」のような指定で、sshによるログインが可能となる。
次に、転送系プロトコルを設定する。下記、「ファイル共有」(SMB利用)と「リモートログイン」(scp利用)とにチェックをつける。
「ファイル共有」では、詳細でプロトコルとしてAFPを指定可能。
(今回は、AFP接続がうまくできず、、、断念。)
転送方法2(外部ディスク)
Macには以前からターゲットディスクモードが存在し、片方のMacをもう一方のMacの外部ディスクとして扱うことが、Thuderboltケーブルを用いて実現できる(以前はFirewireケーブルが使われていた)。システム環境設定内の起動ディスクにて、ターゲットディスクモードとして起動する。
転送方法
4GBの空ファイルをddコマンドで作成し、scpコマンドやcpコマンド(SMBおよび外部ディスク)で転送する。また、timeコマンドにより転送時間を計測。下記はその例である。
$ dd if=/dev/zero of=./File4G bs=1048576 count=4096
$ time scp File4G namae@Vienna.local:tmp
Password:
File4G 100% 4096MB 120.9MB/s 00:33
real 0m38.878s
user 0m24.910s
sys 0m11.585s
$ time cp File4G /Volumes/namae/tmp
real 0m22.727s
user 0m0.013s
sys 0m5.384s
結果&考察
下記表の数値の単位は秒。
scp(ssh) | SMB | 外部ディスク | |
---|---|---|---|
1回目 | 38.878 | 21.433 | 18.328 |
2回目 | 40.078 | 17.760 | 18.037 |
3回目 | 39.297 | 21.365 | 17.719 |
4回目 | 38.381 | 18.298 | 17.272 |
5回目 | 40.076 | 22.727 | 17.891 |
平均 | 39.342 | 20.317 | 17.849 |
当たり前ではあるが、外部ディスクとして転送したときが最も早く、IPプロトコル(scpおよびSMB利用時)利用時のオーバーヘッドが見られる。特にscpの場合、セキュア転送でさらにオーバーヘッドがある。