[EC2] m4インスタンスのネットワーク性能を測定してみた(win2012)

アイキャッチ AWS EC2

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

AWSチームのすずきです。

2015年6月にリリースされたEC2のm4インスタンス。 AWSにより公開されている情報によると、そのネットワーク性能は最上位のm4.10xlargeで「10Gbps」、以下m4.4xlarge〜m4.xlargeは「高」、m4.largeは「中」とされています。

今回、Windows2012R2サーバの環境で、EC2インスタンス間のネットワーク性能を「iperf」を用いて測定する機会がありましたので、その結果を紹介させて頂きます。

公式資料より抜粋

名前 vCPU数 RAM ネットワーク性能 EBS最適化
m4.large 2 8 GiB 450 Mbps
m4.xlarge 4 16 GiB 750 Mbps
m4.2xlarge 8 32 GiB 1,000 Mbps
m4.4xlarge 16 64 GiB 2,000 Mbps
m4.10xlarge 40 160 GiB 10 Gbps 4,000 Mbps

参考

検証環境

概要図

m4-ec2-win2012-iperf-01

iperf

サーバ

  • インスタンスタイプ:m4.10xlarge
  • OS: Windows_Server-2012-R2 (ami-10942110)
  • NIC: Intel(R) 82599 VirtualFunction(SR-IOV有効)
  • リージョン:ap-northeast-1a
  • 配置グループ(placement-groups):指定実施
  • iperf起動オプション:「iperf -s」

クライアント

  • インスタンスタイプ:m4.10xlarge 〜 m4.large
  • OS: Windows_Server-2012-R2 (ami-10942110)
  • NIC: Intel(R) 82599 VirtualFunction(SR-IOV有効)
  • リージョン:ap-northeast-1a
  • 配置グループ(placement-groups):サーバと同一グループを指定
  • iperfオプション:「iperf -c (サーバIP) -t 300」 ※測定時間300秒

結果

計測結果

名前 5分転送量(GBytes) 帯域(Mbits/sec) 時間単価 1$あたりの帯域(帯域/時間単価)
m4.large 15.2 436 $0.183 2383
m4.xlarge 25.5 730 $0.366 1995
m4.2xlarge 33.7 965 $0.732 1318
m4.4xlarge 67.4 1930 $1.464 1318
m4.10xlarge 206 5890 $3.66 1609
  • 時間単価はap-northeast-1(東京)リージョン、オンデマンド、Linux/UNIXの1時間費用

まとめ

インスタンスのスペックアップに比例し、EC2間のネットワーク帯域の実測値が上昇する事。 EC2のスペック資料に記載されたネットワーク性能の「高」に、有意な違いが有ることを確認できました。

大量データのバッチ転送などでEC2間のネットワーク性能がボトルネックとなっている場合には、 インスタンスタイプのスペックアップが効果的と考えられます。

ただし、費用帯効果の点では、シャーディングなどによる分散処理(スケールアウト)が優れる可能性がある事。 また、アベイラブルゾーン(AZ)、配置グループ(placement-groups)、NICのSR-IOVなどの最適化が 実施されていない場合、スペックアップでも十分な効果が期待できない場合もあります。 拡張性を必要とするシステム構築の際には、ご留意頂ければと思います。

補足

m4.2xlarge、m4.10xlargeの双方でiperfのサーバを起動し、相互に負荷テスト実施した結果は 以下の通り。EC2インスタンスのNICの帯域は、INとOUTは独立して管理されている事が伺えました。

m4-ec2-win2012-iperf-02

また今回は計測時間5分、のべ測定時間も1時間に満たない簡易検証でしたが、OSのパフォーマンスモニタが示す値は終始一定。その安定性が印象的でした。