AWS インスタンス別ネットワーク帯域・InstanceStore IOPS測定


あくまで個人的に簡易検査にて試したものなので参考値として考えて下さい。
全てのインスタンスについて調査できているわけではありません。
計測している中で疑問に思える数字がいくつかあります。随時更新していきます。

# 先人の知恵

[インスタンスタイプによって SSD の性能が変わるのか調べてみた](http://blog.manabusakai.com/2015/06/instance-store-benchmark/)
[fioによるEBSボリュームの性能測定(RHEL6.5編)](http://qiita.com/ryuzee/items/4355f9a59d59f876bf31)

# ネットワーク性能別グループ

勝手に分類してみました。

|種別|帯域目安|PPS目安(TCP)|
|---|---|---|
|Low(low)|64Mbps|4Kpps|
|Low(med)|128Mbps|8Kpps|
|Low(high)|256Mbps|16Kpps|
|Moderate(low)|512Mbps|32Kpps|
|Moderate(high)|768Mbps|64Kpps|
|High(low)|1Gbps|128Kpps|
|High(med)|2Gbps|256Kpps|
|High(high)|4.25Gbps|512Kpps|
|10G|9.5Gbps|1Mpps|

# 計測方法
## ネットワーク帯域
```shell-session:iperfによる計測
iperf -c %LOCAL_IP_ADDRESS% -t 60
```
VPC内同一subnetでの計測を実施しました。(ap-northeast-1)
Placement Groupが利用できる場合は利用しています。

## IOPS

```shell-session:benchmark.sh
#!/bin/sh
INSTANCE_TYPE=$(curl -s http://169.254.169.254/2014-11-05/meta-data/instance-type)
yum install fio -y
umount /media/ephemeral0
time dd if=/dev/zero of=/dev/xvdb bs=1M
sudo mkfs.ext4 /dev/xvdb
mount /media/ephemeral0
for i in `seq 0 3`;do 
  time fio -name=random-write \
      --output=/home/ec2-user/${INSTANCE_TYPE}-${i}.txt \
      -ioengine=libaio \
      -rw=randrw \
      -rwmixread=0 \
      -bs=16k \
      -numjobs=16 \
      -iodepth=16 \
      -size=100m \
      -direct=1 \
      -directory=/media/ephemeral0 \
      -group_reporting
  cat /home/ec2-user/${INSTANCE_TYPE}-${i}.txt
done
poweroff
```

# HVM w/ SRIOV

Region: us-west-2c(Oregon)
client: c4.8xlarge
SRIOV: yes

## m4

|Instance Type|Bandwidth|Type|
|---|---|---|
|m4.large|467 Mbits/sec|Moderate(low)|
|m4.xlarge|791 Mbits/sec|Moderate(high)|
|m4.2xlarge|1.01 Gbits/sec|High(low)|
|m4.4xlarge|2.02 Gbits/sec|High(med)|
|m4.10xlarge|9.60 Gbits/sec|10G|

## c4

|Instance Type|Bandwidth|Type|
|---|---|---|
|c4.large|516 Mbits/sec|Moderate(low)|
|c4.xlarge|792 Mbits/sec|Moderate(high)|
|c4.2xlarge|1.01 Gbits/sec|High(low)|
|c4.4xlarge|4.27 Gbits/sec|High(high)|
|c4.8xlarge|9.60 Gbits/sec|10G|

## c3

|Instance Type|Bandwidth|Type|IOPS|
|---|---|---|---|
|c3.large|512 Mbits/sec|Moderate(low)|10727|
|c3.xlarge|702 Mbits/sec|Moderate(high)|12893|
|c3.2xlarge|1.00 Gbits/sec|High(low)|12679|
|c3.4xlarge|2.01 Gbits/sec|High(med)|16007|
|c3.8xlarge|9.00 Gbits/sec|10G|6910|

## r3

|Instance Type|Bandwidth|Type|
|---|---|---|
|r3.large|499 Mbits/sec|Moderate(low)|
|r3.xlarge|702 Mbits/sec|Moderate(high)|
|r3.2xlarge|1.01 Gbits/sec|High(low)|
|r3.4xlarge|2.01 Gbits/sec|High(med)|
|r3.8xlarge|9.23 Gbits/sec|10G|

## i2

|Instance Type|Bandwidth|Type|IOPS|
|---|---|---|---|
|i2.xlarge|702 Mbits/sec|Moderate(high)|22289|
|i2.2xlarge|1.01 Gbits/sec|High(low)|22456|
|i2.4xlarge|2.02 Gbits/sec|High(med)|21936|
|i2.8xlarge|8.60 Gbits/sec|10G|21508|

## d2

|Instance Type|Bandwidth|Type|
|---|---|---|
|d2.xlarge|756 Mbits/sec|Moderate(high)|
|d2.2xlarge|1.01 Gbits/sec|High(low)|
|d2.4xlarge|2.02 Gbits/sec|High(med)|
|d2.8xlarge|||


# HVM w/o SRIOV

Region: us-west-2c(Oregon)
client: c4.8xlarge
SRIOV: N/A

## t2

|Instance Type|Bandwidth|Type|
|---|---|---|
|t2.micro|62.8 Mbits/sec|Low(low)|
|t2.small|127 Mbits/sec|Low(med)|
|t2.medium|254 Mbits/sec|Low(high)|
|t2.large|737 Mbits/sec|Moderate(high)|

## m3

|Instance Type|Bandwidth|Type|IOPS|
|---|---|---|---|
|m3.medium|303 Mbits/sec|Low(high)|3531|
|m3.large|700 Mbits/sec|Moderate(high)|14056|
|m3.xlarge|1.01 Gbits/sec|High(low)|12096|
|m3.2xlarge|1.01 Gbits/sec|High(low)|15092|