EC2 AZ間のスループット計測 (netperf)
ここ(http://aws.amazon.com/jp/ec2/instance-types/instance-details/)に明確な数値が
書いてないので、インスタンスタイプ毎のAZ間のスループットを計測してみました。
東京リージョンの 1a から 1b、1c に対してnetperfで負荷を掛けています。
(AZはAWSアカウント毎にDC群が異なりますので結果は目安として下さい。)
EIP間の通信ではない&同一VPC内のプライベートネットワーク間の通信を
計測対象としています。
計測方法
・各AZに small、large、xlarge インスタンスを立てて、
netperf -f M -H 対象ホスト でスループットを計測。
・試行回数は30回とし、平均値を取得。
・負荷掛け側/掛けられる側のインスタンスタイプは同じとする。
スループット計測結果
・単位はMbps、30回の平均値。
1a→1b | 1a→1c | |
---|---|---|
small | 38.671 | 39.320 |
large | 108.30 | 90.698 |
xlarge | 147.40 | 155.508 |
多少のブレはありますが、1a→1b、1a→1c ほぼ同等のスループットと考えて
良いかと思います。
上記には載せてないですが、1a→1a間(インスタンスは異なる)も同等の数値
でした。
おおよそ、small 40Mbps、large 100Mbps、xlarge 150Mbps となりました。
netperf導入
http://linux.kororo.jp/cont/tips/netperf.php
http://dminor11th.blogspot.jp/2011/07/netperf.html
上記のサイトではソースインストールしていますが、AmazonLinuxはyumでも
インストール出来ます。
計測ツール (netp.sh)
・使い方
netp.sh 試行回数 IPアドレス
#!/bin/bash CNT=0 MAX_CNT=$1 MBPS=0 TOTAL=0 SCA=3 MYIP=`ifconfig -a|grep -A1 eth0 | grep "inet addr:" | awk -F ":" '{print $2}' | awk '{print $1}'` RIP=$2 printf "netperf : ${MYIP} to ${RIP} \n\n" printf "Count\tMbps\n" while [ $CNT -lt $MAX_CNT ] ; do MBPS=`netperf -f M -H ${RIP} | tail -1 | awk '{print $5}'` CNT=`expr $CNT + 1` TOTAL=`echo "scale=$SCA ; $TOTAL+$MBPS" | bc` AVG=`echo "scale=$SCA ; $TOTAL/$CNT" | bc` printf "$CNT\t$MBPS\n" sleep 1 if [ $CNT -eq $MAX_CNT ] ; then printf "\n\e[36mAverage $AVG\e[m\n" fi done