SoftLayerには、「グローバル高速ネットワーク」を無償で利用できる、という特長があります。たとえば、第25回 iSUC札幌大会の公開資料の20ページには、まさにSoftLayerの特徴は「グローバル高速ネットワーク」と「ベアメタルサーバ」である、と記載されています。
グローバルに展開している企業のプライベートネットワークとしてSoftLayerのネットワークを活用できることは非常に魅力的です。そこで今回は、実際に拠点間ネットワークのパフォーマンスを計測してみることにしました。
##構成
ここでは、日本に本社がありASEAN地域に進出している製造業などの企業がグローバル会計やグローバルサプライチェーンのしくみをつくるためにネットワークを活用する、というケースを想定します。しかしSoftLayerの国内リージョンは近日中に公開(*注1)とのことですので、ここでは香港のサイトに対してシンガポールから接続する、という構成とします。また、比較対象の外部連携先としてAWSを使用します。
※注1: SoftLayerの東京リージョンはまさに本日公開されました!
シンガポールと香港、およびAWSのシンガポールにそれぞれサーバを立てます。なお、SoftLayer内部は拠点をまたいだプライベートネットワークを構成するためにVLANスパニングの設定を行っておきます。
この構成で、以下の3つの組み合わせで接続します。
- 接続a: SoftLayerシンガポール→SoftLayer香港 (Public IPに紐付いたDevice Nameを指定)
- 接続b: SoftLayerシンガポール→SoftLayer香港 (Private IPを指定)
- 接続c: AWSシンガポール→SoftLayer香港 (Public IPに紐付いたDevice Nameを指定)
##計測項目
具体的な計測項目として、以下の3つのコマンドを実行しました。
- ping
- tracepath
- iperfによるデータ転送
接続a〜cに対してそれぞれ3項目の計測を行い、その結果を[a-1]〜[c-3]と表します。なお、それぞれについて平日夜間に複数回の計測を行いましたが、傾向に変化はありませんでしたので、ここでは典型的な1回の結果を記載しています。
##1. Ping
Pingでは以下のコマンドを実行します。
$ ping -c 1 server-name
結果です。
- [a-1] 34.4ms
- [b-1] 34.5ms
- [c-1] 39.1ms
SoftLayer内ではpublic IPでもprivate IPでも特に違いはありませんでした。外部から接続した場合のみ14%程度レスポンスが悪い結果となっています。
##2. tracepath
Pingではpublic IPとprivate IPでは差異がほとんどありませんでしたが、実際に経路に違いはあるのでしょうか?
以下のように経路を表示させてみましょう。(細かいアドレスやサーバ名、サブドメイン名などは伏せ字にしてあります)
$ tracepath server-name
- [a-2]
[root@xxxx ~]# tracepath server-name
1: server-name 0.064ms pmtu 1500
1: xx.xx.xx.xx-static.reverse.softlayer.com 1.178ms
1: xx.xx.xx.xx-static.reverse.softlayer.com 0.616ms
2: xxxx.xxxx.xxxx.sng01.networklayer.com 0.383ms
3: xxxx.xxxx.xxxx.sng02.networklayer.com 0.547ms
4: xxxx.xxxx.xxxx.hkg01.networklayer.com 80.874ms
5: xxxx.xxxx.hkg02.networklayer.com 34.291ms
6: xxxx.xxxx.hkg02.networklayer.com 33.827ms
7: xx.xx.xx.xx-static.reverse.softlayer.com 34.450ms reached
Resume: pmtu 1500 hops 7 back 58
- [b-2]
[root@xxxx ~]# tracepath server-private-ip
1: xxxx 0.075ms pmtu 1500
1: xx.xx.xx.xx 0.512ms
1: xx.xx.xx.xx 0.753ms
2: 10.xx.xx.xx 0.532ms
3: 10.xx.xx.xx 0.750ms
4: no reply
5: no reply
6: no reply
7: 10.xx.xx.xx 34.350ms asymm 8
8: 10.xx.xx.xx 33.930ms asymm 9
9: xx.xx.xx.xx 34.721ms reached
Resume: pmtu 1500 hops 9 back 55
- [c-2]
[ec2-user@ip-xx-xx-xx-xx ~]$ tracepath server-name
1?: [LOCALHOST] pmtu 9001
1: ip-xx-xx-xx-xx.ap-southeast-1.compute.internal (xx-xx-xx-xx) 0.200ms pmtu 1500
1: ec2-xx-xx-xx-xx.ap-southeast-1.compute.amazonaws.com (xx-xx-xx-xx) 0.743ms
2: 203.83.223.xx (203.83.223.xx) 0.870ms
3: 203.83.223.xx (203.83.223.xx) 1.683ms
4: 203.83.223.xx (203.83.223.xx) 3.071ms
5: no reply
6: xxxx.xxxx.xxxx.asianetcom.net (61.14.xx.xx) 3.353ms asymm 13
7: xxxx.asianetcom.net (202.147.xx.xx) 2.931ms
8: xxxx.xxxx.xxxx.hkg01.networklayer.com (xx.xx.xx.xx) 37.574ms asymm 10
9: xxxx.xxxx.hkg02.networklayer.com (xx.xx.xx.xx) 38.618ms asymm 10
10: xxxx.xxxx.xxxx.networklayer.com (xx.xx.xx.xx) 37.227ms asymm 11
11: xx.xx.xx.xx-static.reverse.softlayer.com (xx.xx.xx.xx) 38.945ms reached
Resume: pmtu 1500 hops 11 back 53
Whois情報を参考にしながら考察します。[a-2]で経由しているnetworklayer.comはIBM(SoftLayer)の持ち物である一方、[b-2]で経由している10...*はプライベートネットワークのアドレスです。結局のところ、いずれもSoftLayerから外には出ていないことを示唆しています。これがpingの結果(publicでもprivateでも結果に差異がないこと)の理由かもしれません。
なお、AWSからSoftLayerに接続する際はasianetcom.netを経由しているようですが、これはPacnetの国際回線です。
##3.iperfによるデータ転送
最後に、iperfで実際にデータを転送してみます。なお、SoftLayerのCentOS、AWSのAmazon Linuxともiperfは標準で入っていませんので、repoforgeからyumでインストールしました。
まず接続される側(SoftLayer香港サイトのサーバ)で以下のコマンドを実行し待機します。
$ iperf -s -w 128K
次に、接続する側でそれぞれ以下のコマンドを実行し、60秒のデータ転送のスループットを計測します。
$ iperf -c <server> -t 60 -i 10 -w 128K
- [a-3] 転送量: 214 MBytes (スループット: 29.9 Mbps)
- [b-3] 転送量: 213 MBytes (スループット: 29.8 Mbps)
- [c-3] 転送量: 195 MBytes (スループット: 27.2 Mbps)
この結果でもやはり、public IPとprivate IPとで差異はありませんでした。一方、外部から転送した場合は9%程度スループットが悪化しています。
##結論
SoftLayerのネットワークに関するping、tracepath、iperfによる計測の結果を要約すると以下の図のようになります。
この結果は以下のことを示唆しています。
- SoftLayerのpublic IPとprivate IPのいずれも拠点間ネットワークはSoftLayer (NetworkLayer)の経路に閉じており、パフォーマンスに差異はない。
- Softlayer内の拠点間でデータ転送した場合と外部サーバからデータ転送した場合、シンガポール-香港間では10%前後の性能の差異が見られる。
これらの特性は、グローバルで拠点間接続を行う案件でSoftLayerを採用すべき理由のひとつになるのではないでしょうか。