見出し画像

Amazon RDS IOPS性能はインスタンスタイプのベースラインにも依存する

結論

RDSでIOPSやスループットをチューニングする際は、インスタンスのベースラインも意識する必要があります。

きっかけはレコメンデーション

とある日、本番ワークロードで利用しているRDSのコンソール画面にて、レコメンデーション機能によって、IOPSキャパシティのプロビジョニング不足を指摘されました。
半年前ほど、これまでの実績と将来のワークロードに合うように、ストレージタイプとプロビジョニングIOPSを余裕を持って調整していたため、思ってもいない指摘でした。

RDS レコメンデーションでのIOPSキャパシティ不足の指摘

CloudWatchメトリクスで該当インスタンスのIOPS(ReadとWriteの単位時間あたりの最大合計)を確認するとピークタイムで 6,000 IOPSほどの数値を示していました。

ReadWrite合計のIOPS

ただし冒頭で説明した通り、汎用SSD(gp3)のストレージタイプでプロビジョニングしているIOPSは 12,000 でしたので、まだ余裕があるのでは?と思っていました。

プロビジョンドIOPSは12,000

EBS最適化

レコメンデーションでは、「DB インスタンスをデフォルトの IOPS 制限が高いタイプにスケールアップすることをお勧めします」と指摘されましたが、この「デフォルトのIOPS」が、インスタンスタイプに応じたベースラインIOPSだということがわかりました。ドキュメントを確認すると該当インスタンスはt3.2xlargeのインスタンスタイプで、ベースラインIOPSが 4,000 であり、6,000IOPSの実績ではキャパシティ不足となってしまうことがわかりました。

インスタンスタイプ毎に設定された各種性能



この記事が気に入ったらサポートをしてみませんか?