Amazon Relational Database Service (Amazon RDS) for PostgreSQL DB インスタンスのバーストバランスが低くなっています。これを防ぎたいと思っています。
Amazon RDS DB インスタンスは、ストレージに Amazon Elastic Block Store (Amazon EBS) ボリュームを使用します。
プロビジョンド IOPS SSD (io1) ボリュームでは、IOPS パフォーマンスに一貫性があります。汎用 SSD (gp2) ボリュームは、DB インスタンスに割り当てられたストレージサイズによって異なります。gp2 ボリュームの IOPS は、ボリュームのサイズ (ギビバイト単位) に 3 を掛けたものです。最小値は 100 IOPS (33.33 GiB 以下のとき)、最大値は 16,000 IOPS (5,334 GiB 以上のとき) です。例えば、ボリュームが 100 GiB の場合、ボリュームのベースラインパフォーマンスは 300 IOPS です。
サイズに関係なく、gp2 ボリュームの初期 I/O クレジットバランスは 540 万 I/O クレジットです。これは、少なくとも 30 分間 3,000 IOPS の最大バーストパフォーマンスを維持するのに十分です。ボリュームにベースラインパフォーマンスを超える I/O レベルが必要な場合、ボリュームは I/O クレジットバランスを利用して、必要なレベルで実行します。
ボリュームのバーストバランスを消費してしまうと、ボリュームはベースラインのパフォーマンス値に戻ります。バースト残高を消費してしまっても、ユーザーに追加料金が請求されることはありません。IOPS の使用量がベースラインよりも低くなるまで、ボリュームはベースラインのままです。その後、バーストバランスの補充を開始できます。
1 TiB を超える gp2 ボリュームのベースラインパフォーマンスは、バーストパフォーマンスの 3,000 IOPS を上回ります。このようなボリュームでは、ベースラインパフォーマンスが 3,000 IOPS のバーストパフォーマンスよりも優れているため、バーストは関係ありません。
ただし、Amazon RDS は、リクエストされたストレージの量に応じて、複数の Amazon EBS ボリュームにわたって自動的にストライピングし、パフォーマンスを向上させます。したがって、割り当てられた 1 TiB の合計ストレージが複数の小さいボリュームにストライピングされることがあり、各ボリュームのバーストパフォーマンスが 3,000 IOPS になります。
RDS インスタンスのボリューム数を特定するには、拡張モニタリングをオンにし、[Physical Devices] (物理デバイス) コンソールでボリューム数を確認します。
バーストバランスが低い場合のトラブルシューティングを行うには、次の手順に従います。
EBS ボリュームのマイクロバーストの詳細については、「Amazon RDS インスタンスの IOPS のボトルネックによって引き起こされた Amazon EBS ボリュームのレイテンシーをトラブルシューティングするにはどうすればよいですか?」を参照し、「マイクロバースト」セクションを確認してください。
I/O クレジットとバーストパフォーマンス
バーストと、Amazon RDS と GP2 のベースラインパフォーマンスの理解
Amazon RDS インスタンスの IOPS のボトルネックによって引き起こされた Amazon EBS ボリュームのレイテンシーをトラブルシューティングするにはどうすればよいですか?