
[monitoring] Performance Insights
'DB가 느려요'에서 멈추지 않고, 정확히 어떤 쿼리가 발목을 잡는지 짚어내는 도구.
One-Line Summary
Performance Insights(PI)는 RDS/Aurora 데이터베이스의 부하를 시각화해, 어떤 SQL·대기 이벤트·사용자가 부하를 유발하는지 쉽게 찾아주는 DB 성능 분석 도구다. 시험에서는 DB 성능 병목 원인 파악 / DB 전문 지식 없이 부하 SQL 식별 / CloudWatch(인프라 지표)·X-Ray(요청 추적)와의 역할 구분 이 핵심이다. "DB가 느린데 어떤 쿼리 때문인지"면 PI다.
Why It Exists
DB가 느릴 때, CPU·메모리 같은 인프라 지표(CloudWatch)만으로는 정확히 어떤 쿼리·대기(wait)가 부하를 만드는지 알기 어렵다. 전통적으로는 DBA가 내부 뷰를 뒤져야 했다.
Performance Insights는 DB 부하(DB Load)를 그래프로 보여주고, 그 부하를 SQL/대기 이벤트/호스트/사용자별로 분해해 원인을 바로 보게 한다.
DB가 느려짐
-> CloudWatch: "CPU가 높다" (증상만)
-> Performance Insights: "이 SELECT가 대기 이벤트 X로 부하의 70%" (원인)
시험 감각:
"어떤 쿼리/대기가 DB 부하를 유발하는지 쉽게 찾아라" = Performance Insights.
Abbreviations
| 약어 | 풀네임 | 의미 |
|---|---|---|
PI | Performance Insights | RDS/Aurora 부하를 시각화·분석하는 도구 |
DB Load | Database Load | 동시에 활성인 세션 수로 표현한 DB 부하 지표 |
Wait Event | Wait Event | 세션이 무엇을 기다리며 시간을 쓰는지(락, I/O 등) |
Top SQL | Top SQL | 부하를 가장 많이 유발하는 SQL 순위 |
무엇을 보여주나
| 관점 | 알 수 있는 것 |
|---|---|
| DB Load 그래프 | 시간에 따른 전체 부하와 최대 CPU 대비 수준 |
| Top SQL | 부하를 많이 유발하는 쿼리 |
| Wait Events | 부하가 어떤 대기(락/IO/CPU)로 생기는지 |
| 차원별 분해 | 사용자·호스트·애플리케이션별 부하 |
부하 = 어떤 SQL이 + 무엇을 기다리며 + 누가 유발했나
-> 튜닝 대상 쿼리를 바로 지목
특징 (알아둘 것)
| 항목 | 내용 |
|---|---|
| 지원 엔진 | RDS(MySQL·PostgreSQL·MariaDB·SQL Server·Oracle), Aurora |
| 활성화 | 콘솔에서 켜기만 하면 됨(코드 변경 불필요) |
| 무료 보존 | 최근 7일 성능 데이터 무료(장기 보존은 유료) |
| 전문성 | DBA 수준 지식 없이도 부하 원인 파악 |
세 관측 서비스의 역할 구분 (아주 빈출)
| 서비스 | 답하는 질문 | 계층 |
|---|---|---|
| CloudWatch | 리소스 지표가 임계치를 넘었나? | 인프라/운영 지표 |
| X-Ray | 어느 서비스 구간에서 요청이 느린가? | 애플리케이션 요청 추적 |
| Performance Insights | 어떤 SQL/대기가 DB 부하를 만드나? | 데이터베이스 내부 |
시험 감각:
"DB 성능 문제의 원인 쿼리 식별" = PI(인프라 지표=CloudWatch, 요청 추적=X-Ray와 구분).
Common Wrong Directions
| 오답 방향 | 왜 부족한가 |
|---|---|
| DB 부하 원인 쿼리 파악을 CloudWatch 지표로 | CloudWatch는 증상(CPU 등)만 → 원인 SQL은 PI |
| DB 성능 분석을 X-Ray로 | X-Ray는 서비스 간 요청 추적 → DB 내부는 PI |
| 부하 SQL을 찾으려 앱 코드에 로깅 추가/DBA 투입 | PI로 코드 변경 없이 즉시 시각화 |
| PI로 EC2/네트워크 문제까지 진단 | PI는 DB 전용 → 인프라는 CloudWatch |
Exam Triggers
| 문제에서 이런 표현이 나오면 | 떠올릴 것 |
|---|---|
| "identify which SQL queries cause high DB load" | Performance Insights |
| "database performance tuning with minimal effort / no DBA expertise" | Performance Insights |
| "visualize DB load by wait events / top SQL / users" | Performance Insights |
| "RDS/Aurora is slow, find the root cause query" | Performance Insights |
| "resource CPU/memory alarm" | PI 아님 → CloudWatch |
| "trace latency across microservices" | PI 아님 → X-Ray |
Memory Sentence
Performance Insights는 RDS/Aurora의 DB Load를 Top SQL·대기 이벤트·사용자별로 분해해, 코드 변경 없이 어떤 쿼리가 부하를 유발하는지 보여준다. 인프라 지표는 CloudWatch, 서비스 간 요청 추적은 X-Ray와 계층이 다르다.
References
댓글
아직 댓글이 없습니다.