Amazon RDS IOPS性能はインスタンスタイプのベースラインにも依存する
結論
RDSでIOPSやスループットをチューニングする際は、インスタンスのベースラインも意識する必要があります。
きっかけはレコメンデーション
とある日、本番ワークロードで利用しているRDSのコンソール画面にて、レコメンデーション機能によって、IOPSキャパシティのプロビジョニング不足を指摘されました。
半年前ほど、これまでの実績と将来のワークロードに合うように、ストレージタイプとプロビジョニングIOPSを余裕を持って調整していたため、思ってもいない指摘でした。
CloudWatchメトリクスで該当インスタンスのIOPS(ReadとWriteの単位時間あたりの最大合計)を確認するとピークタイムで 6,000 IOPSほどの数値を示していました。
ただし冒頭で説明した通り、汎用SSD(gp3)のストレージタイプでプロビジョニングしているIOPSは 12,000 でしたので、まだ余裕があるのでは?と思っていました。
EBS最適化
レコメンデーションでは、「DB インスタンスをデフォルトの IOPS 制限が高いタイプにスケールアップすることをお勧めします」と指摘されましたが、この「デフォルトのIOPS」が、インスタンスタイプに応じたベースラインIOPSだということがわかりました。ドキュメントを確認すると該当インスタンスはt3.2xlargeのインスタンスタイプで、ベースラインIOPSが 4,000 であり、6,000IOPSの実績ではキャパシティ不足となってしまうことがわかりました。
この記事が気に入ったらサポートをしてみませんか?