[EBS] ストライビングとシンプルボリュームの性能を比較してみた

2015.07.15

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

はじめに

AWSチームのすずきです。

2014年11月のAWSのアップデートにより、汎用SSD(gp2)のEBSは 最大16TBの容量、最大10,000IOPSのベースパフォーマンスを設定する事が可能となりました。

上記AWSのアップデート以前、1TB以上の容量のディスクを必要とする場合には、複数のEBSをストライピング(RAID0)する必要がありました。

今回、Windowsサーバ環境で、3TBのEBSをシンプルボリュームで利用したディスクと、1TBのEBSを3つ束ねたストライピングボリュームのディスクの性能比較を実施する機会がありましたので、その結果を紹介します。

環境

EC2インスタンス

  • AWS ap-northeast-1c(東京)
  • r3.2xlarge
  • EBS最適化インスタンス有効(スループット:1000Mbps、最大 16K IOPS目安:8,000)
  • Windows 2008R2 Windows_Server-2008-R2_SP1-Japanese-64Bit-Base-2015.06.10 (ami-92a17892)

参考:Amazon EBS 最適化インスタンス

EBSボリューム

  • 容量:1024GiB × 3、3072GiB × 1
  • タイプ:汎用(SSD)※gp2

利用ベンチマークツール

結果

ランダムアクセス性能

  • Random Read,Random Wirte 4KiB
  • Queues=32, Threads=1 (Q= 32,T= 1)
  • 単位はIOPS
ディスク構成 Read Write
1024GiB × 1 3090.3 3097.7
1024Gib × 2 6202.4 6215.8
1024Gib × 3 9307.6 9367.9
3072GiB × 1 9253.7 9188.7

シーケンシャルアクセス性能(MB/s)

  • Sequential Read,Sequential Wirte
  • Queues=32, Threads=1 (Q= 32,T= 1)
  • 単位はMB/s
ディスク構成 Read Write
1024Gib × 1 122.421 123.866
1024Gib × 2 147.215 129.344
1024GiB × 3 163.031 155.980
3072GiB × 1 171.625 147.927

CrystalDiskMark表示

シンプルボリューム

  • 1024GiB ×1

ebs-1tb-gp2-1

ストライプボリューム(RAID 0)

  • 2048GiB(1024Gib × 2)

ebs-1tb-gp2-x2

  • 3072GiB(1024Gib × 3)

ebs-1tb-gp2-x3

シンプルボリューム

  • 3072GiB ×1

ebs-3tb-gp2-1

まとめ

CrystalDiskMarkの結果では、3TB×1玉のシンプルボリュームのアクセス性能、1TB×3玉のストライピングボリュームと比較して、 アクセス性能は同等の結果が得られました。

ストライピングボリュームはスナップショット運用の煩雑化などの副作用を伴います。 EBSは基本はシンプルボリュームで利用し、 必要とするディスク容量が16TBを超える場合や、10,000IOPS以上の性能を必要とする場合に、 ストライピングボリュームを採用することをお奨めします。

おまけ

c3,m3,r3,i2等のEC2インスタンスでは、ホストマシンに実装されたSSDを インスタンスストア(エフェメラルディスク)として追加費用なく利用する事が可能です。

今回、検証を実施したr3.2xlargeインスタンスには、150GBのSSDがインスタンスストアとして 利用できましたので、その性能も確認してみました。

EC2インスタンスが停止した場合、インスタンスストアに保存したデータは消失しますが、 EBSよりも高いアクセス性能を有します。

EBSで10,000IOPS以上の性能を安定して得るには、4xlarge以上の高性能インスタンスとEBS最適化オプションの利用が必要となります。 ETL処理などに伴う中間データや、キャッシュなどの一時ファイル、OSのスワップなど、 消失する事が許容出来るファイルのIO性能が求められる場合には、 コストパフォーマンスに優れたインスタンスストアの活用もご検討ください。

インスタンスストアとEBSの比較

ディスク種別 Random Read Random Write Sequential Read Sequential Write
150GiB(r3.2xlarge内蔵) 33927.5 IOPS 32570.8 IOPS 251.462 MB/s 177.659 MB/s
3072GiB ×1(gp2) 9253.7 IOPS 9188.7 IOPS 171.625 MB/s 147.927 MB/s

local-ssd-150gb-1