Amazon Aurora PostgreSQL と互換性のある DB インスタンスは、メジャーバージョンアップグレード後に CPU 使用率が高くなります。アップグレード前、DB インスタンスは正常に機能していました。
簡単な説明
まず、Aurora PostgreSQL 互換のメジャーアップグレードプロセスに従って、アップグレードが成功したことを確認します。メジャーバージョンアップグレードの前後に実行する手順は多数あるため、順を追って、手順が実行していることを確認してください。プロセスのいずれかの手順を省略すると、アップグレードが失敗する可能性があります。また、アップグレード自体が成功したとしても、CPU 使用率が高くなるなどのパフォーマンスへの影響が発生する可能性があります。
解決方法
- 本番環境の Aurora PostgreSQL 互換クラスターを新しいメジャーバージョンにアップグレードする前に、本番環境のデータベースの複製でアップグレードをテストします。複製テストインスタンスを作成するには、最新のスナップショットからデータベースを復元するか、データベースを複製します。
- すべてのメジャーバージョンには、データベースのパフォーマンスを向上させるように設計されたクエリオプティマイザーの拡張機能が含まれています。しかし、DB プランナー/オプティマイザーでは、クエリの実行に最適なプランを選択しない場合があります。その結果、新しいメジャーバージョンで同じクエリを実行すると、パフォーマンスが低下する可能性があります。そのため、メジャーバージョンアップグレードを実行する前に、常にクエリのパフォーマンスをテストして確認することがベストプラクティスです。Aurora PostgreSQL 互換では、クエリプラン管理 (QPM) 機能を使用して、さまざまなメジャーバージョンでのクエリプランの安定性を管理することができます。
- メジャーバージョンアップグレード後に CPU 使用率が高くなる主な理由の 1 つは、統計が最新ではないことです。これは、pg_statistic カタログに保存されている統計データが、メジャーバージョンのアップグレード中に転送されないためです。これにより、DB オプティマイザーはクエリの実行に最適なプランを選択しない可能性があります。この問題を回避するには、ANALYZE 操作を実行しているすべての統計を再生成して、pg_statistic テーブルを更新します。これを Aurora PostgreSQL と互換性のある DB インスタンス上のすべてのデータベースに対して行います。
注: 現在のデータベース内のすべての標準テーブルの統計を生成するには、必ずパラメータを指定せずに ANALYZE コマンドを実行します。
ANALYZE VERBOSE
これらの手順を実行した後にパフォーマンスの問題が発生した場合は、「Amazon RDS または Amazon Aurora PostgreSQL の高い CPU 使用率をトラブルシューティングするにはどうすればよいですか?」を参照してください。
関連情報
メジャーバージョンアップグレード後のプランの安定性を確保する