내용으로 건너뛰기

Amazon RDS for PostgreSQL의 메이저 버전 업그레이드 이후에 일관된 애플리케이션 동작을 유지하려면 어떻게 해야 합니까?

3분 분량
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. Enhanced MonitoringPerformance 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의 메이저 버전 업그레이드를 수행하는 방법