概要
gp2の割り当てたボリュームサイズを増やすことで、IOPSの増やすことができると最近、社内のインフラエンジニア教えてもらった。
それまでは、io1に変更することでしかIOPSを増やすことができないと思っていて、EBSの割当をいつも使用するストレージ量でのみ考えていたので、調べたりして勉強になったのでまとめることにした。
IOPSってなんだ
「Input/Output Per Second」の略。
ストレージがもつ1秒間にI/O数を指標化したもの。
ふむ。数字が大きいほうがより高性能であることがわかる。
ストレージをゴリゴリするような読み書きの多いアプリケーションの場合、パフォーマンスに影響するので、気にするべき指標の1つ。
gp2のベースラインパフォーマンスについて
ボリュームサイズにより、表のように割当ボリュームサイズでベースラインが異なる。
あと継続してバーストできる時間とバーストに必要なIOクレジットの回復までの時間も異なるので注意が必要。
ボリュームサイズ (GiB) | ベースラインパフォーマンス (IOPS) | バーストできる (秒数) | バーストするため必要なIOクレジットが回復する秒数 |
---|---|---|---|
1 | 100 | 1802 | 54,000 |
100 | 300 | 2,000 | 18,000 |
250 | 750 | 2,400 | 7,200 |
334 | 1002 | 2703 | 5389 |
500 | 1,500 | 3,600 | 3,600 |
750 | 2,250 | 7,200 | 2,400 |
1,000 | 3,000 | 該当なし* | 該当なし* |
5,334 | 16,000 | 該当なし* | 該当なし* |
16,384 | 16,000 | 該当なし* | 該当なし* |
まとめ
・gp2は、100IOPS~16,000IOPSまでとなる。
・ベースラインパフォーマンスは、3 IOPS/GiBの割合で拡大。(ざっくりGib × 3とおぼえたらいい。)
・3,000IOPSまでバーストできるけど、IOクレジットの量に応じた時間だからIOクレジットが枯渇しないようにしないと調整しないといけない。
・IOクレジットは、ボリュームサイズにより秒数と回復までの時間が異なるので、注意。
・ベースパフォーマンスが3,000IOPSを超えると、バーストは関係なしと。
上記を意識して、構築したらコストもパフォーマンスもより最適化されたインフラが構築できる。