[EBS] ストライビングとシンプルボリュームの性能を比較してみた
はじめに
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)
EBSボリューム
- 容量:1024GiB × 3、3072GiB × 1
- タイプ:汎用(SSD)※gp2
利用ベンチマークツール
- CrystalDiskMark 4.1.0 x64
- 測定容量: 1GiB
- 計測回数: 3回
結果
ランダムアクセス性能
- 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
ストライプボリューム(RAID 0)
- 2048GiB(1024Gib × 2)
- 3072GiB(1024Gib × 3)
シンプルボリューム
- 3072GiB ×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 |