Amazon RDS Performance Insights
지원 종료 공지
2026년 6월 30일부터는 RDS Performance Insights 콘솔 환경과 유연한 보존 기간 요금이 더 이상 지원되지 않습니다. 앞으로 플릿 수준 모니터링, 애플리케이션 성능 모니터링과의 통합, 잠금 분석 등 확장된 기능 세트를 제공하는 Amazon CloudWatch Database Insights 사용을 권장합니다.
RDS Performance Insights란 무엇인가요?
RDS Performance Insights는 데이터베이스의 로드를 빠르게 평가하고 언제 어디에서 조치해야 하는지 파악하는 데 도움이 되는 데이터베이스 성능 조정 및 모니터링 기능입니다. Performance Insights를 사용하면 데이터베이스 로드를 시각화하여 보여주는 이해하기 쉬운 대시보드를 통해 비전문가도 쉽게 성능 문제를 탐지할 수 있습니다.
Performance Insights는 애플리케이션 성능에 영향을 주지 않는 간단한 데이터 수집 방식을 사용하며, 별도의 구성이나 유지 관리가 필요하지 않습니다. Performance Insights는 데이터베이스 부하의 원인을 보여주므로 성능 문제가 발생하면 바로 탐지할 수 있어 SQL 문을 튜닝하거나 시스템 리소스를 늘릴 수 있습니다. 개발 및 테스트 데이터베이스의 경우 Performance Insights를 사용하여 CPU 사용량을 모니터링하고, 프로덕션 이전 단계에서 SQL 쿼리의 영향을 평가하며, 적절한 인스턴스 크기를 결정하고, 더 나은 성능을 위해 쿼리 튜닝이 필요한지 판단할 수 있습니다.
성능 기록이 무료로 7일간 보관되기 때문에 여러 가지 문제를 손쉽게 추적하고 해결할 수 있습니다. API 및 SDK를 사용해도 Performance Insights를 온프레미스 및 타사 모니터링 도구에 쉽게 통합할 수 있습니다. 오래 보관해야 하는 경우 최대 2년의 성능 기록 보관에 대한 비용을 지불하는 옵션을 선택할 수 있습니다.
혜택
IT 실무자와 데이터베이스 전문가는 핵심 성능 정보를 하나의 차트에 집계해 보여주는 간단한 인터페이스를 사용할 수 있습니다.
Performance Insights는 CPU 사용량, 잠금 대기, I/O 지연 시간과 같은 성능 병목 현상과 이 현상에 영향을 미치는 SQL 문을 신속하게 식별하는 데 도움이 됩니다. 클라우드 또는 새로운 인스턴스 유형으로 마이그레이션할 때 Performance Insights를 사용하여 SQL 문 튜닝이 필요한지 판단할 수 있습니다.
Performance Insights를 RDS Management Console에서 빠르게 활성화하고 액세스하여 별도의 구성이나 유지 관리 없이 성능 지표를 자동으로 수집하고 모니터링 리소스를 관리할 수 있습니다.
FAQ
일반
모두 열기성능 문제는 Amazon RDS Management Console의 Performance Insights 섹션에 있는 데이터베이스 로드 그래프에서 스파이크로 나타납니다. 이 그래프를 한 번 보면 데이터베이스에서 애플리케이션이 시간 및 리소스를 사용하고 있는 리소스 유형을 빠르게 파악할 수 있습니다. 콘솔에서는 보관 기간 내 원하는 기간을 확대해서 볼 수 있습니다. 로드가 많은 기간을 선택하면 로드에 대한 전체 기여도에 따라 정렬된 SQL 문 목록을 표시할 수 있습니다.
Performance Insights는 DB 인스턴스에서 연결된 세션의 상태를 1초 간격으로 샘플링합니다. 세션이 데이터베이스 관련 작업을 처리하고 있는 경우, Performance Insights에서는 현재 시간, 작업 유형(I/O, CPU, 잠금 등), 현재 SQL 문 및 기타 여러 가지 세션 속성을 기록합니다. 시간이 지남에 따라 샘플링된 이 데이터를 사용하여 해당 세션이 데이터베이스 인스턴스의 로드에 미치는 영향을 파악합니다.
아니요. Performance Insights는 Amazon RDS API 및 Amazon RDS 관리 콘솔을 통해 성능 데이터에 대한 액세스를 제공합니다. 이는 데이터베이스 내의 어떠한 테이블도 채우지 않고 SQL을 통해 데이터베이스 내에서 검색되도록 데이터를 제공하지도 않습니다.
예. 기본적으로 Performance Insights에서는 1시간의 슬라이딩 윈도우로 성능 데이터를 표시합니다. 이 기능은 최신 성능 정보를 거의 실시간(몇 초 차이)으로 제공하기 위해 개발되었습니다.
Performance Insights에는 7일간 성능 데이터가 보존되는 프리 티어가 포함되어 있습니다. 인스턴스 가격의 극히 일부에 불과한 금액으로 최대 2년까지 장기 보존이 가능합니다.
예. 인스턴스 생성 마법사를 사용하는 경우 AWS Console에는 Performance Insights 옵션이 기본적으로 선택되어 있습니다. Performance Insights가 활성화되지 않도록 마법사에서 옵션 선택을 취소하거나, 인스턴스를 변경하여 활성화된 인스턴스의 Performance Insights를 비활성화할 수 있습니다.
예.
Performance Insights의 핵심은 DB 로드라는 단일 지표입니다. 이 지표는 애플리케이션이 데이터베이스에서 시간을 어떻게 소비하는지를 나타냅니다. DB 로드는 AAS(평균 활성 세션) 단위로 측정됩니다. 여기에서 활성 세션이란 데이터베이스 엔진에 작업을 제출하고 응답 대기 중인 연결(세션)을 말합니다. 예를 들어, 데이터베이스 인스턴스에 SQL 문을 제출하면 인스턴스가 쿼리를 처리하는 동안 해당 세션은 ‘활성’ 상태로 간주됩니다.
주어진 시간 동안 인스턴스에서 활성 상태인 세션 수를 계산하고 일정 기간 동안 평균을 냄으로써 이 인스턴스가 얼마나 바쁜지 인스턴스가 응답하길 기다리는 데 사용되는 시간 세션이 얼마나 되는지를 보여주는 지표를 제공할 수 있습니다. 이것이 DB 로드입니다. Performance Insights는 경량 샘플링 메커니즘을 사용하여 활성 세션의 수를 계산하고 약 1초마다 각 세션의 속성을 기록합니다.
샘플링된 데이터는 암호화되어 다양한 세부 수준으로 집계되며 Amazon RDS 관리 콘솔의 API 및 DB 로드 차트에 제공됩니다.
아니요. 그러나 일부 데이터베이스 엔진에서는 추가 성능 추적 기능을 활성화하면 Performance Insights가 더욱 잘 작동합니다. 예를 들어 pg_stat_statement 확장이 Aurora PostgreSQL과 호환되는 에디션에서 활성화되면 Performance Insights는 해당 확장이 제공하는 추가 정보를 활용해서 PostgreSQL 네이티브 SQL 식별자를 사용하여 명령문에 레이블을 지정합니다.
Performance Insights 에이전트는 데이터베이스 워크로드에 방해가 되지 않도록 설계되었습니다. Performance Insights가 높은 로드 또는 고갈된 리소스를 감지하면, 여전히 데이터를 수집하긴 하지만 안전할 때만 수집하는 방식으로 변경합니다. 데이터베이스 옵션(예: PostgreSQL의 pg_stat_statement)은 데이터베이스 리소스 일부를 사용할 수 있으므로 잠재적으로 성능에 영향을 미칠 수 있습니다.
이러한 옵션 활성화가 특성 시스템에 영향을 미치는지 아닌지는 애플리케이션 워크로드에 달려 있습니다. 따라서 프로덕션 시스템에서 데이터베이스 옵션을 활성화하기 전에 워크로드에 대해 이러한 옵션을 테스트해보는 것이 좋습니다.
Enhanced Monitoring을 사용하여 O/S 지표를 모니터링하는 경우 Enhanced Monitoring을 통해 해당 데이터를 계속 확보해야 합니다.
예. Performance Insights는 사용자의 자체 AWS Key Management Service(KMS) 키를 사용하여 잠재적으로 민감한 모든 데이터를 암호화합니다. 데이터는 암호화된 상태로 전송 및 저장됩니다. AWS 직원은 잠재적으로 민감한 성능 데이터에 액세스하거나 이러한 데이터를 볼 수 없습니다. Amazon RDS에 대한 모든 액세스 권한을 가진 AWS 계정의 사용자만 Performance Insights를 볼 수 있습니다.
Performance Insights가 활성화된 Amazon RDS 인스턴스를 중지하더라도 해당 인스턴스에 대한 기록 데이터의 보관 또는 가시성에는 아무런 영향을 미치지 않습니다. 하지만 인스턴스가 중지된 기간에는 아무 데이터도 포함되지 않습니다.
Performance Insights에서는 공개적으로 사용 가능한 API를 제공합니다. 고객 및 타사는 이 API를 통해 Performance Insight의 귀중한 데이터를 활용할 수 있습니다.
예. Performance Insights에서는 공개적으로 사용 가능한 API를 제공합니다. 고객 및 타사는 이 API를 통해 Performance Insight의 귀중한 데이터를 활용할 수 있습니다.
예. AWS GovCloud 리전을 포함한 모든 AWS 리전에서 Performance Insights를 사용할 수 있습니다.
예. Performance Insights를 활성화하도록 인스턴스를 수정하면 기존 Amazon RDS 인스턴스에서 Amazon RDS Performance Insights를 활성화할 수 있습니다.
아니요. Performance Insights는 Amazon RDS 인스턴스의 스토리지 공간을 사용하지 않습니다.
Performance Insights는 Amazon RDS의 모든 데이터베이스 엔진에서 튜닝 시 공통 접근 방식 및 디자인을 제공하도록 설계되었습니다. 엔진 유형별로 대기 이벤트 및 SQL 식별자와 같은 특정 속성이 다르기 때문에 다른 데이터베이스 엔진에서 사용하는 경우 당연히 이러한 속성이 Performance Insights에서 달라집니다.
Performance Insights의 핵심 원리 중 하나는 데이터베이스 엔진의 기본 개념, 식별자 및 속성이 그대로 유지되어야 한다는 것입니다. Performance Insights는 일반적으로 다른 엔진별 속성의 대기 이벤트를 재해석하거나 이름을 바꾸지는 않지만, 데이터베이스 엔진에서 보고하는 대로 이를 제시합니다.
예. Aurora 읽기 전용 복제본은 독립적인 인스턴스이므로, 이러한 인스턴스에서 Performance Insights를 활성화하거나 비활성화할 수 있습니다.
현재는 지원되지 않습니다. 앞으로 Performance Insights에 데이터 내보내기 기능이 추가될 예정입니다. 그러나 Performance Insights를 통해 얻은 데이터는 API를 통해 사용할 수 있습니다.
아니요. Performance Insights는 인스턴스에서 직접 수집한 데이터만 표시합니다. 그러나 Performance Insights를 통해 얻은 데이터는 API를 통해 사용할 수 있으며, Amazon Athena, Amazon Redshift, Amazon Redshift Spectrum, Amazon Quicksight와 같은 AWS 분석 서비스를 통해 분석을 수행할 수 있습니다.