EBS ボリュームタイプ gp3 の性能ってどうなの?
gp3がリリースされてから3ヶ月が経過したので(2020年12月→2021年3月)、そろそろ本番業務のサーバに使おうかな、と。
その前に生じた疑問、
「本当に gp3 は gp2 の上位互換なんだろうか」
念のために、ベンチマークツールでパフォーマンスをチェックすることに。
検証環境
###EC2 Instance
Region: ap-northeast-1
OS: Windows 2019 Server Base
Instance Type: c5.large
EBS#1: 200GiB gp2
EBS#2: 200GiB gp3 (3000 IOPS, 250 MB/s)
###検証ツール
- fio
- Crystal Disk Mark 8.0.1 x64
確認項目
ディスクの性能といえばこの3つの項目ですね。
- 応答速度 (msec)
- スループット(MB/s)
- IOPS
gp3は、スループット と IOPS の2つを自分の欲しい量だけ指定して構成します。
どちらも値を指定しているんだから、当然その性能は出るはずですよね。
応答速度 もIOPSの逆数になるんだったら(IOの多重度1で)、まあこれも問題ないよね。
検証結果 fio
いざ、fioで取得するとこのような結果に。
4多重度
fio.exe -filename=xxxx -direct=1 -rw=randread -bs=4k -size=1G -numjobs=4 -name=r4k -runtime=15
fio.exe -filename=xxxx -direct=1 -rw=write -bs=1m -size=1G -numjobs=4 -name=w1m -runtime=15
タイプ | 応答速度(4K Block randread) | スループット(1M block seqwrite) | IOPS(4KB Block randread) |
---|---|---|---|
gp2 | 1.16msec | 275MB/s | 3432 IOPS |
gp3 | 1.16msec | 275MB/s | 3441 IOPS |
ほぼ同じだった。問題なし。
一応1多重度でもやってみよう。
1多重度
fio.exe -filename=xxxx -direct=1 -rw=randread -bs=4k -size=1G -numjobs=1 -name=r4kn1 -runtime=15
fio.exe -filename=xxxx -direct=1 -rw=write -bs=1m -size=1G -numjobs=1 -name=w1mn1 -runtime=15
タイプ | 応答速度(4K Block randread) | スループット(1M block seqwrite) | IOPS(4KB Block randread) |
---|---|---|---|
gp2 | 0.32msec | 275MB/s | 3001 IOPS |
gp3 | 0.92msec | 275MB/s | 1078 IOPS |
おぉ、gp2の応答速度が短くなって、gp3の方は約 1000 IOPSになってしまった。。
検証結果 Crystal Disk Mark
Crystal Disk Markではどうなるか。
Random 4K QueueDepth=2, Thread=2
Random 4K QueueDepth=2, Thread=1
Random 4K QueueDepth=1, Thread=2
Random 4K QueueDepth=1, Thread=1
と設定して、4パターンを実施。
###gp2
ちゃんと 3000 IOPSでていますね。と思ったらおや、1613 がありますね。
多重度1の4K Writeだとgp2でも 3000 IOPS いかないのか。
つまり、gp2の時代から、こういうのは仕様の範疇だったということか。
###gp3
QueueDepth * Thread=1 の場合、約 1000 IOPS で、
QueueDepth * Thread=2 の場合、約 2000 IOPS との結果。
応答速度 1msec で IOの重ね合わせで 3000 IOPS出せるってことなのか。
fioでの結果と合いますね。
結論
gp2 から gp3 に変換すると、応答速度に敏感なごく一部のシステムでは、ひょっとすると性能低下がみられるかもしれません。
**が、**基本的には問題ないでしょう。
一般的な使い方では、多重度1でIO処理していることはないでしょうからね。
それよりも gp3 には大きなメリットがあります。
- gp3は、1000 GiB 以下でもバーストクレジットの枯渇を気にしなくてよい!
- gp2と同等スペックにするとほとんどのケースで安い!
特定条件でしか生じないデメリットなんてキニシナイで、gp3 にしてメリットを享受しましょう。