メジャーバージョンアップグレード後に Aurora PostgreSQL 互換インスタンスの CPU 使用率が高くなるのはなぜですか?

所要時間1分
0

Amazon Aurora PostgreSQL と互換性のある DB インスタンスは、メジャーバージョンアップグレード後に CPU 使用率が高くなります。アップグレード前、DB インスタンスは正常に機能していました。

簡単な説明

まず、Aurora PostgreSQL 互換のメジャーアップグレードプロセスに従って、アップグレードが成功したことを確認します。メジャーバージョンアップグレードの前後に実行する手順は多数あるため、順を追って、手順が実行していることを確認してください。プロセスのいずれかの手順を省略すると、アップグレードが失敗する可能性があります。また、アップグレード自体が成功したとしても、CPU 使用率が高くなるなどのパフォーマンスへの影響が発生する可能性があります。

解決方法

  1. 本番環境の Aurora PostgreSQL 互換クラスターを新しいメジャーバージョンにアップグレードする前に、本番環境のデータベースの複製でアップグレードをテストします。複製テストインスタンスを作成するには、最新のスナップショットからデータベースを復元するか、データベースを複製します。
  2. すべてのメジャーバージョンには、データベースのパフォーマンスを向上させるように設計されたクエリオプティマイザーの拡張機能が含まれています。しかし、DB プランナー/オプティマイザーでは、クエリの実行に最適なプランを選択しない場合があります。その結果、新しいメジャーバージョンで同じクエリを実行すると、パフォーマンスが低下する可能性があります。そのため、メジャーバージョンアップグレードを実行する前に、常にクエリのパフォーマンスをテストして確認することがベストプラクティスです。Aurora PostgreSQL 互換では、クエリプラン管理 (QPM) 機能を使用して、さまざまなメジャーバージョンでのクエリプランの安定性を管理することができます。
  3. メジャーバージョンアップグレード後に CPU 使用率が高くなる主な理由の 1 つは、統計が最新ではないことです。これは、pg_statistic カタログに保存されている統計データが、メジャーバージョンのアップグレード中に転送されないためです。これにより、DB オプティマイザーはクエリの実行に最適なプランを選択しない可能性があります。この問題を回避するには、ANALYZE 操作を実行しているすべての統計を再生成して、pg_statistic テーブルを更新します。これを Aurora PostgreSQL と互換性のある DB インスタンス上のすべてのデータベースに対して行います。

注: 現在のデータベース内のすべての標準テーブルの統計を生成するには、必ずパラメータを指定せずに ANALYZE コマンドを実行します。

ANALYZE VERBOSE

これらの手順を実行した後にパフォーマンスの問題が発生した場合は、「Amazon RDS または Amazon Aurora PostgreSQL の高い CPU 使用率をトラブルシューティングするにはどうすればよいですか?」を参照してください。


関連情報

メジャーバージョンアップグレード後のプランの安定性を確保する

AWS公式
AWS公式更新しました 1年前
コメントはありません