exemONE Redshift 성능 분석
1. 개요
메뉴 경로: Performance Analysis > Database > Amazon Redshift
Redshift 인스턴스의 날짜/시간별 성능 추이를 분석하고, 특정 시점의 SQL 요약·이벤트 정보를 정밀 분석하여 모니터링하는 화면입니다.
2. SQL Analysis
2-1. Top-N Analysis
Stacked Area Chart를 활용하여 특정 기간 동안의 Top SQL을 조회하는 기능을 제공합니다.

1) Search Panel

| 순번 | 항목 | 내용 |
|---|---|---|
| 1 | Reset | 검색 조건을 초기화합니다. |
| 2 | Instance | 인스턴스를 선택합니다. |
| 3 | Time | 기간 버튼 및 달력 UI를 이용하여 조회 기간 및 시간을 설정합니다. |
| 4 | Group By | Group By 조건을 확인할 수 있습니다. |
| 5 | SQL List | Top SQL 데이터의 Order By 조건 및 Top 을 설정합니다. |
2) Search Bar

| 순번 | 항목 | 내용 |
|---|---|---|
| 1 | Search | 클릭 시 검색 패널이 나타납니다. |
| 2 | Filter Label | 검색 패널에서 선택한 조건은 상단에 텍스트로 표시됩니다. |
3) Chart

| 순번 | 항목 | 내용 |
|---|---|---|
| 1 | 마우스 오버 | 마우스 오버 시 툴팁과 인디케이터를 보여줍니다. |
4) Top SQL

| 순번 | 항목 | 내용 |
|---|---|---|
| 1 | Filter | 필터 조건 따라 Top SQL 목록을 보여줍니다. Or이나 And 조건으로 선택 가능합니다. |
| 2 | Toggle | 토글 버튼 클릭을 통해 합계, 평균으로 변환합니다. |
| 3 | Grid | 검색 패널의 조건에 따라 Top SQL을 보여줍니다. |
● Grid
| 순번 | 항목 | 내용 |
|---|---|---|
| 1 | Rank | 순위 |
| 2 | DB Name | 데이터베이스 이름 |
| 3 | User Name | 사용자 이름 |
| 4 | SQL ID | SQL ID |
| 5 | QueryTxt | SQL 쿼리 텍스트 |
| 6 | Execution | SQL 쿼리 실행 수 |
| 7 | Elapsed Time (sec) | SQL 수행 시간 |
| 8 | CPU Time (sec) | 사용된 CPU 시간 |
| 9 | Run Time (sec) | 세그먼트 실행 시간 |
| 10 | Blocks Read | 세그먼트 블록 수 |
| 11 | Blocks to Disk | 블록에 사용된 디스크 공간 크기 |
| 12 | Query Scan Size | 쿼리 스캔 데이터 크기 |
| 13 | Query Queue Time (sec) | 쿼리 대기열 시간 |
| 14 | Rows | 단계에서 처리된 행 수 |
| 15 | Max Rows | 단계에서 출력된 행의 최대 수 |
| 16 | Ratio (%) | 쿼리 수행 시간 백분율 |
| 17 | Max CPU Time (sec) | 사용된 CPU 최대 시간 |
| 18 | Max Blocks Read | 세그먼트 블록 최대 수 |
| 19 | Max Blocks to Disk | 블록에 사용된 디스크 공간 최대 크기 |
| 20 | Max Query Scan Size | 쿼리 스캔 데이터 최대 크기 |
| 21 | Query Priority | 쿼리 우선순위 |
3. Performance Analysis
3-1. Trend Analysis
날짜 별, 시간 별 성능 추이 확인이 가능한 화면으로, 특정 시점의 정밀한 성능 분석 기능을 제공합니다.

1) Search Panel

| 순번 | 항목 | 내용 |
|---|---|---|
| 1 | Reset | 검색 조건을 초기화합니다. |
| 2 | Instance | 인스턴스를 선택합니다. |
| 3 | Time | 기간 버튼 및 달력 UI를 이용하여 조회 기간 및 시간을 설정합니다. |
2) Search Bar

| 순번 | 항목 | 내용 |
|---|---|---|
| 1 | Search | 클릭 시 검색 패널이 나타납니다. |
| 2 | Filter Label | 검색 패널에서 선택한 조건은 상단에 텍스트로 표시됩니다. |
3) Trend Chart
데이터베이스 주요 지표 Trend를 표시하며 주요 성능 지표에 대한 모니터링이 가능한 화면입니다.

| 순번 | 항목 | 내용 |
|---|---|---|
| 1 | Chart | 검색 패널에서 조회한 대상, 기간에 맞춰 차트를 보여줍니다. Chart에 인디케이터가 나타나고, 인디케이터가 위치한 시점의 날짜와 시간을 툴팁으로 보여줍니다. |
| 2 | Stat Change | 각 차트 명 우측 상단 아이콘을 클릭하여 지표를 변경합니다. 차트 명 클릭 시 ‘Stat Chart Option’ 팝업창이 나타납니다. |
4) Grid
하단에는 선택된 시간 범위에서 Session, Lock Tree, Slow Query, User Log, Alert 등의 다양한 관점에서 장애 원인을 분석할 수 있습니다.
4-1) Session
클릭 시점에 수집된 Session 정보 확인이 가능합니다.

| 순번 | 항목 | 내용 |
|---|---|---|
| 1 | Filter | 필터 조건 따라 Lock 목록을 보여줍니다. Or이나 And 조건으로 선택 가능합니다. |
| 2 | Grid | Lock 정보를 Grid 형태로 보여줍니다. |
| 3 | Time Navigation | Grid 하단에 데이터 조회 시각 정보와 시간 클릭 버튼을 제공합니다. |
● Grid
| 순번 | 항목 | 내용 |
|---|---|---|
| 1 | Time | 수집 시간 |
| 2 | Elapsed Time (sec) | SQL 수행 시간 |
| 3 | SQL ID | SQL ID |
| 4 | Query | Query ID |
| 5 | QueryTxt | SQL 쿼리 텍스트 |
| 6 | User Name | 사용자 이름 |
| 7 | XID | 트랜젝션 ID |
| 8 | Start Time | 세션 시작 시간 |
| 9 | Status | 세션 동작 상태 |
| 10 | Queue Time (sec) | 실행 대기열에서 기다린 시간 |
| 11 | Execution Time (sec) | 실제 쿼리 실행에 소요된 시간 |
| 12 | Returned Rows | 쿼리가 반환한 행(row) 수 |
| 13 | Returned Bytes | 쿼리가 반환한 데이터 크기(바이트) |
| 14 | Compile Time (sec) | 쿼리 컴파일에 걸린 시간 |
| 15 | Planning Time (sec) | 실행 계획 생성에 걸린 시간 |
| 16 | Lock Wait Time (sec) | 락(lock) 발생 대기 시간 |
4-2) Lock Tree
클릭 시점에 수집된 Lock 확인이 가능합니다.

| 순번 | 항목 | 내용 |
|---|---|---|
| 1 | Filter | 필터 조건 따라 Lock 목록을 보여줍니다. Or이나 And 조건으로 선택 가능합니다. |
| 2 | Grid | Lock 정보를 Grid 형태로 보여줍니다. |
| 3 | Time Navigation | Grid 하단에 데이터 조회 시각 정보와 시간 클릭 버튼을 제공합니다. |
● Grid
| 순번 | 항목 | 내용 |
|---|---|---|
| 1 | DB Name | 데이터베이스 이름 |
| 2 | Lock Status | Lock 상태 (Holder / Waiter) |
| 3 | PID | 프로세스 ID |
| 4 | Holder PID | Holder Session의 PID |
| 5 | Elapsed Time (sec) | 락 수행 시간 |
| 6 | QueryTxt | 락 발생 쿼리 텍스트 |
| 7 | Status | 락 동작 상태 |
| 8 | Start Time | 락 발생 시간 |
| 9 | User Name | 사용자 이름 |
4-3) Slow Query
조회 기간에 수집된 Slow Query 확인이 가능합니다.

| 순번 | 항목 | 내용 |
|---|---|---|
| 1 | Filter | 필터 조건 따라 Slow Query 목록을 보여줍니다. Or이나 And 조건으로 선택 가능합니다. |
| 2 | Grid | Slow Query 정보를 보여줍니다. |
● Grid
| 순번 | 항목 | 내용 |
|---|---|---|
| 1 | Rank | 순위 |
| 2 | DB Name | 데이터베이스 이 |
| 3 | SQL ID | SQL ID |
| 4 | Query | Query ID |
| 5 | Elapsed Time (sec) | SQL 쿼리 수행 시간 |
| 6 | QueryTxt | SQL 쿼리 텍스트 |
| 7 | User Name | 사용자 이름 |
| 8 | XID | 트랜잭션 ID |
| 9 | PID | 프로세스 ID |
| 10 | Start Time | SQL 쿼리 시작 시간 |
| 11 | End Time | SQL 쿼리 종료 시간 |
| 12 | Aborted | SQL 쿼리 중지 또는 취소 여부 |
| 13 | Concurrency Sacling Status | 동시성 확장 클러스터 실행 여부 |
| 14 | Insert Pristine | 쓰기 쿼리 허용 여부 |
4-4) User Log
조회 기간에 수집된 User Log 확인이 가능합니다.

| 순번 | 항목 | 내용 |
|---|---|---|
| 1 | Filter | 필터 조건 따라 User Log 목록을 보여줍니다. Or이나 And 조건으로 선택 가능합니다. |
| 2 | Grid | User Log 정보를 보여줍니다. |
● Grid
| 순번 | 항목 | 내용 |
|---|---|---|
| 1 | Record Time | 로그 발생 시간 |
| 2 | User ID | 사용자 ID |
| 3 | User Name | 사용자 이름 |
| 4 | Original User Name | 사용자 이름 변경 시 이전 사용자 이름 |
| 5 | Action | 발생 작업 유형(변경, 생성, 삭제, 이름 바꾸기) |
| 6 | has Create DB Privs | 사용자 데이터베이스 생성 권한 여부 (true / False) |
| 7 | is Superuser | 사용자 슈퍼 유저 권한 여부 (true / False) |
| 8 | has Update Catalog Privs | 사용자 시스템 카탈로그 업데이트 권한 여부 (true / False) |
| 9 | Password Expiration | 비밀번호 만료 날짜 |
| 10 | PID | 프로세스 ID |
| 11 | Transcation ID | 트렌젝션 ID |
4-5) Alert
조회 기간에 수집된 Alert를 확인할 수 있습니다.

| 순번 | 항목 | 내용 |
|---|---|---|
| 1 | Filter | 필터 조건 따라 Alert 목록을 보여줍니다. Or이나 And 조건으로 선택 가능합니다. |
| 2 | Grid | Alert 정보를 Grid 형태로 보여줍니다. |
● Grid
| 순번 | 항목 | 내용 |
|---|---|---|
| 1 | Time | 알람 발생 시각 |
| 2 | Alert Type | 알람 유형 |
| 3 | Alert Name | 알람 이름 |
| 4 | Level | 알람 발생 레벨 |
| 5 | Value | 알람 발생 값 |
관련 문서
참고 문서