- RDS Performance Insights는 Amazon RDS(Relational Database Service)의 강력한 성능 모니터링 및 분석 도구입니다.
- 이 도구는 데이터베이스의 성능을 시각화하고, 성능에 영향을 미치는 요소들을 분석하는 데 사용됩니다.
- Performance Insights를 통해 데이터베이스 관리자는 복잡한 성능 문제를 쉽게 식별하고 해결할 수 있습니다.
- 직관적인 대시보드를 제공하여, 기술적 배경이 없는 사용자도 쉽게 데이터베이스 성능을 이해할 수 있습니다.
- Performance Insights 대시보드는 데이터베이스 부하를 시각화하고 다양한 방식으로 필터링할 수 있는 기능을 제공합니다.
- 이 대시보드를 통해 데이터베이스 성능  에 영향을 미치는 다양한 요소들을 쉽게 파악할 수 있습니다.
- 주요 필터링 옵션은 다음과 같습니다:
2.1 대기(Waits) 기준 필터링
- 데이터베이스의 병목 지점을 찾는 데 사용됩니다.
- 주요 리소스별 대기 상태를 확인할 수 있습니다:
- CPU: 프로세서 사용량이 높은 경우
- IO: 디스크 입출력이 병목인 경우
- Lock: 데이터베이스 잠금으로 인한 대기가 발생하는 경우
 
- 이를 통해 어떤 리소스가 성능 저하의 원인인지 빠르게 파악할 수 있습니다.
2.2 SQL 문 기준 필터링
- 문제를 일으키는 특정 SQL 문을 식별하는 데 사용됩니다.
- 데이터베이스에 가장 큰 부하를 주는 SQL 문을 쉽게 찾아낼 수 있습니다.
- 이를 통해 최적화가 필요한 쿼리를 빠르게 식별하고 개선할 수 있습니다.
2.3 호스트(Hosts) 기준 필터링
- 데이터베이스를 가장 많이 사용하는 서버를 찾는 데 사용됩니다.
- 특정 애플리  케이션 서버가 데이터베이스에 과도한 부하를 주고 있는지 확인할 수 있습니다.
- 이를 통해 애플리케이션 레벨에서의 최적화 필요성을 파악할 수 있습니다.
2.4 사용자(Users) 기준 필터링
- 데이터베이스를 가장 많이 사용하는 사용자를 식별하는 데 사용됩니다.
- 특정 사용자 계정이 비정상적으로 많은 리소스를 사용하고 있는지 확인할 수 있습니다.
- 이를 통해 사용자별 접근 제어나 리소스 할당 조정의 필요성을 파악할 수 있습니다.
3 DBLoad 개념 이해하기
- DBLoad는 데이터베이스 엔진의 활성 세션 수를 나타내는 중요한 지표입니다.
- 이 지표는 데이터베이스의 전반적인 부하 상태를 한눈에 파악할 수 있게 해줍니다.
- DBLoad의 특징:
- 높은 DBLoad: 데이터베이스가 많은 요청을 처리하고 있거나 성능 문제가 있음을 의미할 수 있습니다.
- 낮은 DBLoad: 데이터베이스가 정상적으로 작동하고 있음을 의미할 수 있습니다.
- 급격한 DBLoad 변화: 갑작스러운 부하 증가나 성능 문제를 나타낼 수 있습니다.
 
4 SQL 쿼리 분석
- Performance Insights를 통해 데이터베이스에 부하를 주는 SQL 쿼리를 자세히 볼 수 있습니다.
- 이 기능의 주요 이점:
- 문제가 되는 SQL 문을 정확히 식별할 수 있습니다.
- 쿼리의 실행 빈도, 평균 실행 시간 등의 상세 정보를 확인할 수 있습니다.
- 쿼리 최적화의 우선순위를 정할 수 있습니다.
 
- SQL 쿼리 분석 과정:
- 대시보드에서 부하가 높은 시점을 식별합니다.
- 해당 시점의 Top SQL 문을 확인합니다.
- 문제가 되는 SQL 문의 전체 텍스트와 실행 계획을 분석합니다.
- 필요한 경우 인덱스 추가, 쿼리 재작성 등의 최적화 작업을 수행합니다.
 
5.1 정기적인 성능 검토
- 주기적으로 Performance Insights 대시보드를 확인하여 성능 트렌드를 파악합니다.
- 비정상적인 패턴이나 급격한 변화가 있는지 주의 깊게 관찰합니다.
5.2 문제 해결 프로세스 개선