スキップしてコンテンツを表示

Amazon RDS for PostgreSQL のメジャーバージョンアップグレード後に、アプリケーションの動作に一貫性を持たせる方法を教えてください。

所要時間1分
0

Amazon Relational Database Service (Amazon RDS) for PostgreSQL データベースをアップグレードする際に、アプリケーションのパフォーマンスに問題が起こらないようにしたいです。

解決策

Amazon RDS for PostgreSQL の本番インスタンス用にテスト環境を設定する

テスト環境をビルドするには、最新のスナップショットからデータベースを復元する必要があります。または、データベースを復元可能な最新の時刻にポイントインタイムリカバリしてから、新しく復元したスナップショットにアップグレードします。

次の手順を実行します。

  1. 最近のスナップショットからデータベースを復元するか、ポイントインタイムリカバリを実行します。
  2. 復元されたデータベースにバージョンアップグレードを実行します。

機能テストを実施する

注: 詳細については、PostgreSQL のウェブサイトで「Amazon RDS for PostgreSQL のアップデート」および「バージョン 17.2 への移行」を参照してください。

メジャーバージョンアップグレードを実行する際、バージョン変更がアプリケーションの互換性に影響する可能性があります。たとえば、RDS for PostgreSQL の接続管理を変更すると、Max_connection パラメータが適切に調整されていない場合はアプリケーションが中断する可能性があります。

バージョン互換性の問題を特定するには、本番環境と同等のワークロードを使用して、アプリケーションの機能をテストデータベースでテストする必要があります。その後、必要なアプリケーションコードの変更を実施します。

パフォーマンステストを実施する

現在のパフォーマンスベースラインを確立する

次の手順を実行します。

  1. クエリプランログで ** auto_explain** を有効にします。詳細については、PostgreSQL のウェブサイトで 「auto_explain」を参照してください。
    注: 詳細については、「クエリのパフォーマンスを調整するために、Amazon RDS PostgreSQL または Aurora PostgreSQL のクエリ実行プランを記録する方法を教えてください」を参照してください。
  2. 期間を指定してクエリログを有効にします。詳細については、「Amazon RDS を使用して PostgreSQL のクエリログを有効にする方法を教えてください」を参照してください。
  3. 拡張モニタリングPerformance Insights を有効にします。
  4. 過去におけるデータベースのパフォーマンスとワークロードの比較を取得するには、データベースログを Amazon CloudWatch の PostgreSQL ログにエクスポートします。

パフォーマンスの問題を特定する

実行戦略とコストをデータベースバージョン間で比較するには、EXPLAIN クエリプランを使用します。現在のクエリ応答時間とリソース使用パターンを監視し、過去のバージョンと比較するには、クエリログおよび Performance Insights を使用します。

次の手順を実行します。

  1. EXPLAIN プランをバージョン間で比較します。詳細については、PostgreSQL のウェブサイトで 「EXPLAIN」を参照してください。
  2. テーブルの統計情報を更新するには、default_statistics_target の値を増やし、ANALYZE を使用します。詳細については、PostgreSQL のウェブサイトで 「ANALYZE」を参照してください。
  3. インデックスの肥大化を解決するには、REINDEX を使用します。詳細については、PostgreSQL のウェブサイトで 「REINDEX」を参照してください。
  4. (オプション) 相関列の拡張統計情報を作成するには、CREATE STATISTICS コマンドを使用します。詳細については、PostgreSQL のウェブサイトで「CREATE STATISTICS」を参照してください。
    注: 必要に応じて pg_hint_plan 拡張機能を使用します。

ストレステストを実施する

次の手順を実行します。

  1. アプリケーションのワークロードに応じたカスタムスクリプトで pgbench を使用します。詳細については、PostgreSQL のウェブサイトで 「pgbench」を参照してください。
  2. 高負荷状態でデータベースの動作をテストし、パフォーマンスメトリクスを監視するには、本番環境と同等のワークロードを適用する必要があります。詳細については、「PostgreSQL のベンチマーク監視と、その考慮事項」および「専用ログボリュームを使用して Amazon RDS for PostgreSQL のベンチマークを実施する」を参照してください。

関連情報

プランナーメソッドの設定 (PostgreSQL のウェブサイト)

PostgreSQL における統計情報

RDS for PostgreSQL のメジャーバージョンアップグレード方法

AWS公式更新しました 9ヶ月前
コメントはありません

関連するコンテンツ