ネットワークパフォーマンス(端的に言えば回線速度)の計測方法は多々有りますが、クラウドのネットワークパフォーマンスを計測しようとすると、1つ問題が生じます。

多くのクラウドでは、サーバーインスタンス契約後に使えるインターフェースが SSH に限られています。つまりテキストのコンソール画面だけが使える状況です。その制約の中で「どこまでわかりやすくネットワークパフォーマンスを 計測できるか?」という課題があるのでした。

 自分が使っているのは speedtest と呼ばれるツールです。この導入から利用、そして実際の出力結果までを紹介します。

まず導入方法ですが、おそらく最も簡単で多くのケースで利用できるのが、この wget を使ったやり方です:
# cd /usr/local/bin
# wget -O speedtest-cli https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py
# chmod +x speedtest-cli
上記例では /usr/local/bin という Path の通ったディレクトリにあらかじめ移動してから、そこにダウンロードしてくる、という方法を取っています。これで speedtest-cli という実行ファイル(実体は Python スクリプト)が用意できました。

そのまま(パラメータなしで)実行するだけでもアップロード速度とダウンロード速度を計測してくれます:
# speedtest-cli
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Kddi Corporation (XXX.XXX.XXX.XXX)...
Selecting best server based on latency...
Hosted by Too late (Ishikari) [847.06 km]: 38.316 ms
Testing download speed........................................
Download: 47.94 Mbits/s
Testing upload speed..................................................
Upload: 23.04 Mbits/s
# 

ダウンロードが 47.94 Mbps、アップロードが 23.04 Mbps という結果でした。まあこれは実行タイミングにも影響されると思いますが、1つの目安にはなると思います。

そして、このツールの特徴の1つでもある "--share" オプションがあります。これを付けて実行すると、実行結果を png 画像にして提供してくれます:
# speedtest-cli --share
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Kddi Corporation (XXX.XXX.XXX.XXX)...
Selecting best server based on latency...
Hosted by Too late (Ishikari) [847.06 km]: 38.316 ms
Testing download speed........................................
Download: 47.94 Mbits/s
Testing upload speed..................................................
Upload: 47.94 Mbits/s
Share results: http://www.speedtest.net/result/3980766722.png
# 

"Share results:" に書かれた URL にアクセスすると、このような画像が表示されます:


上記例は僕の自宅内のサーバーから行ったもので、契約している au ひかり(KDDI)から実行されたことも判別してくれています。また総合判断としての "GRADE: B" という記載もされています。

面白そうだったので、いくつかの環境から実行してみました:

(AWS EC2)


(DTI ServerMan/VPS)


(IDCF)



AWS の EC2 が "GRADE: A+" で速いことになってる!(悪意なし) ネットワークそのものは速いんでしょうかね、でも体感に直結しないのはやはり海外リージョンのせいなのか。。

そして IDCF クラウド、うちの au ひかりよりも速いってこと!? こうなると自宅サーバーで運用中のサービスの移行も検討しないといけないかな・・・