[Oracle] RAT(SPA, DB Replay) 왜 쓰는가?

prana·2024년 10월 11일
0

ORACLE

목록 보기
26/96
post-thumbnail

RAT (Real Application Testing)

개념

  • SQL Performance Analyzer(SPA)Database Replay 기능을 통합한 Oracle의 솔루션
  • 이러한 통합을 통해, SQL 단위의 성능 분석 + 전체 데이터베이스 부하 분석을 동시에 수행할 수 있다.

왜 사용하는가?

  • 데이터베이스에 변경 사항을 적용할 때 SQL 단위의 세밀한 분석과 전체 시스템의 영향도를 모두 평가해야 안전한 운영이 가능하다. RAT는 이러한 두 가지 관점을 모두 커버할 수 있도록 해준다.
    • SQL Performance Analyzer: 세밀하게 SQL 실행 계획 변화를 분석합니다.
    • DB Replay: 프로덕션 환경의 실제 부하를 테스트하여, 시스템 전체에 미치는 영향을 평가.
    • RAT: 데이터베이스의 큰 변화(업그레이드, 하드웨어 변경, 설정 변경 등)에 대한 포괄적인 테스트 도구로, SQL 성능과 시스템 부하를 모두 테스트하여 안정성을 확보.

SPA(SQL Performance Analyzer)

  • SQL 문장의 성능을 분석하고, 특정 변화(예: 데이터베이스 업그레이드, 인덱스 추가/삭제, 통계 갱신 등) 가 SQL 실행에 미치는 영향을 측정하는 도구이다.

왜 사용하는가?

  • 데이터베이스 환경에서 설정을 변경하거나, 업그레이드를 수행할 때, SQL 성능에 미칠 영향을 미리 파악하는 것이 매우 중요하다. 변화 후에 발생할 수 있는 성능 저하나, 문제를 사전에 방지할 수 있다.

사용 방법

  1. 변화 전 상태에서 특정 SQL 작업을 SPA에 캡쳐하여, 기준 성능(성능 기준)을 측정한다.
  2. 데이터베이스 환경을 변경합니다. 예를 들어, 데이터베이스를 업그레이드하거나, 인덱스를 추가/삭제합니다.
  3. 변화 후 다시 같은 SQL 작업을 수행하고 성능을 측정합니다.
  4. SPA는 변화 전후의 성능을 비교하여, 어떤 SQL 문장이 성능에 변화가 있었는지를 알려줍니다.

주요 사용 사례

  • 데이터베이스 업그레이드 전후의 성능 비교
  • 인덱스 추가, 파티션 변경, 통계 업그레이드 등에서의 SQL 성능 비교
  • 계획 변화를 통한 최적의 SQL 실행 계획 선택

Database Replay

개념

  • Production Database에서 발생한 실제 트랜잭션 부하를 캡쳐하고, 이를 테스트 환경에서 다시 실행하여 변경사항이 시스템에 비치는 영향을 평가할 수 있는 도구이다.

왜 사용하는가?

  • DB Replay를 사용하면 실제 환경에서 발생할 수 있는 문제를 테스트 환경에서 미리 파악할 수 있다.

  • 이 도구를 통해 대규모의 데이터베이스 변경 작업(예: 하드웨어 변경, 설정 변경, 패치 적용 등)이 실제 트랜잭션 부하에 미치는 영향을 사전에 분석할 수 있다.

사용 방법

  1. 캡쳐: 프로덕션 데이터베이스에서 실제 사용자 트랜잭션 부하를 캡쳐합니다.

  2. 리플레이 환경 설정: 테스트 환경을 프로덕션 환경과 동일하게 구성합니다.

  3. 리플레이: 캡쳐한 부하를 테스트환경에서다시 실행합니다.

  4. 분석: 리플레이 중에 발생한 성능 변화나 오류를 분석합니다.

주요 사용 사례

  • 데이터베이스 업그레이드 전후의 실제 부하 테스트

  • 새로운 하드웨어 또는 Stroage 장치의 성능 영향 분석

  • 데이터베이스 설정 변경(ex: 파라미터 변경)의 영향 분석.


추가 보충

  • 부하란 시스템이 처리해야 하는 작업량으로, SQL쿼리, 트랜잭션, 사용자 세션, CPU 및 메모리 사용량 등이 포함됩니다.
  • 부하를 주는 목적: 시스템의 성능을 평가하고, 병목 현상을 파악하며, 높은 부하 상황에서도 안정성을 검증하는 데 있음
  • SPA에서 SQL 성능을 분석하는 이유: 변경사항이 SQL 실행에 미치는 영향을 사전에 분석하여 성능 저하를 예방하고, SQL 문장을 최적화하며, 업그레이드 후 문제 발생을 방지하기 위함.

0개의 댓글