본문으로 건너뛰기

Top N Analysis

Top N Analysis 화면에서는 지정된 기간 동안 SingleStore 클러스터에서 실행된 쿼리, 노드, 데이터베이스를 대상으로 선택한 성능 지표 기준 상위 N개 항목을 확인하고 시간대별 추이를 분석할 수 있습니다.

좌측 메뉴에서 Database > SingleStore > Top N Analysis를 선택하세요.

Top N Analysis 전체 화면

화면은 트렌드 차트와 Top Query 목록 두 영역으로 구성됩니다.

필터 바에서 조회 조건 설정하기​

화면 상단 필터 바에서 분석 범위와 집계 기준을 설정한 뒤 [Search] 를 클릭하면 결과가 갱신됩니다.

  • Period: 분석할 기간과 시간 범위를 설정합니다.
  • Group: 조회 대상 인스턴스 그룹을 선택합니다.
  • Instance: 분석 대상 SingleStore 클러스터를 선택합니다.
  • Group by: 집계 기준을 선택합니다. Query, Node, DB 중 하나를 선택하면 아래 목록과 차트가 해당 단위로 표시됩니다.
  • Order By: 상위 N개를 선정할 기준 지표를 선택합니다.
  • Top: 표시할 상위 항목 수를 입력합니다(기본값 20).
  • [Option]: Activity Type을 추가로 필터링합니다. 클릭하면 팝업이 열리고, 원하는 유형을 선택한 뒤 [Apply] 를 클릭하세요.

Group by 옵션​

Group by 드롭다운에서 집계 기준을 선택합니다.

옵션설명
Query쿼리 텍스트 단위로 집계합니다. 개별 SQL 문의 자원 사용량을 비교할 때 사용합니다.
Node클러스터를 구성하는 노드 단위로 집계합니다. 특정 노드에 부하가 집중되는지 파악할 때 유용합니다.
DB데이터베이스 단위로 집계합니다. 데이터베이스별 자원 사용 분포를 확인할 때 사용합니다.

Order By 지표 선택​

Order By 드롭다운에서 상위 N개를 선정할 기준 지표를 선택합니다.

옵션설명
Elapsed Time총 경과 시간 기준으로 정렬합니다.
CPU TimeCPU 사용 시간 기준으로 정렬합니다.
Disk Time디스크 I/O 처리에 소요된 시간 기준으로 정렬합니다.
Network Time네트워크 전송에 소요된 시간 기준으로 정렬합니다.
Memory Use메모리 사용량 기준으로 정렬합니다.
Disk I/O디스크 I/O 크기 기준으로 정렬합니다.
Network I/O네트워크 I/O 크기 기준으로 정렬합니다.
Execution Count실행 횟수 기준으로 정렬합니다.

Activity Type 필터 적용하기​

[Option] 을 클릭하면 팝업이 열려 Activity Type을 추가로 좁힐 수 있습니다.

옵션설명
All모든 활동 유형을 포함합니다.
Database사용자 데이터베이스에서 실행된 활동만 포함합니다.
System시스템 내부 활동(information_schema 등)만 포함합니다.
Query일반 쿼리 활동만 포함합니다.

설정을 마친 뒤 [Apply] 를 클릭해야 필터가 적용됩니다. [Reset] 을 클릭하면 기본값으로 초기화됩니다.

트렌드 차트에서 지표 추이 확인하기​

트렌드 차트는 Order By로 선택한 지표의 시간대별 변화를 영역 차트로 표시합니다.

  • 파란색 영역(Total Elapsed Time 등): 상위 N개 항목 전체의 지표 합계 추이를 나타냅니다.
  • 초록색 영역: 아래 목록에서 행을 클릭했을 때 해당 항목의 지표 추이를 나타냅니다.
  • 우측 상단 [Retry] 를 클릭하면 차트 데이터를 다시 조회합니다.

합계(파란색)와 개별 항목(초록색)을 나란히 비교하면 특정 쿼리나 노드가 전체 부하에 얼마나 기여하는지 파악하는 데 유용합니다.

Top Query 목록에서 상위 항목 분석하기​

조회 기간 동안 선택한 지표 기준으로 자원 사용이 가장 높은 상위 N개 항목을 목록으로 표시합니다. Group by 선택에 따라 목록의 제목과 컬럼 구성이 달라집니다.

Group by를 Query로 설정했을 때 표시되는 주요 컬럼은 다음과 같습니다.

  • Query Text: 실행된 SQL 문입니다. 셀을 클릭하면 SQL Full Text 팝업이 열려 쿼리 전문을 확인하고 복사할 수 있습니다.
  • Aggregator Activity Name: 동일한 쿼리 패턴을 식별하기 위한 집계 명칭입니다. 파라미터가 다르더라도 동일 패턴으로 묶인 쿼리들은 같은 값을 공유합니다. 셀을 클릭하면 오른쪽에 상세 패널이 열립니다.
  • Database Name: 쿼리가 실행된 데이터베이스명입니다.
  • Activity Type: 쿼리의 활동 유형입니다.
  • 이후 컬럼은 CPU Time (ms), CPU Wait Time (ms), Elapsed Time (ms), Lock Row Time (ms), Lock Time (ms), Disk Time (ms), Network Time (ms), Log Buffer Time (ms), Log Flush Time 등 각 단계에 소요된 시간 지표로 구성됩니다.

목록 상단의 필터 입력란에 텍스트를 입력하면 컬럼 값 기준으로 빠르게 필터링할 수 있습니다. OR/AND 버튼으로 다중 조건의 결합 방식을 전환합니다.

우측 상단의 Sum/Avg 토글로 수치 컬럼의 집계 방식을 합계와 평균 사이에서 전환할 수 있습니다.

경과 시간이 높은 쿼리를 Order By > Elapsed Time으로 먼저 찾은 뒤, 동일 쿼리를 CPU Time이나 Disk Time으로 재조회하면 CPU 집약적 처리인지 디스크 I/O 병목인지 원인을 구체적으로 좁혀 나갈 수 있습니다.

참고

Group by를 Node나 DB로 바꾸면 목록이 노드 단위 또는 데이터베이스 단위로 재집계됩니다. 동일한 Order By 지표와 Top 값이 그대로 적용됩니다.

상세 패널에서 SQL 분석하기​

Top Query 목록에서 Aggregator Activity Name 셀을 클릭하면 화면 오른쪽에 상세 패널이 열립니다.

Top N Analysis 상세 패널

상세 패널 상단에는 대상 SQL의 집계 명칭과 [Slide History] 버튼, 닫기 아이콘이 표시됩니다. [Slide History]를 클릭하면 이전에 조회한 항목 목록을 확인하고 재방문할 수 있습니다.

패널 상단 정보 영역에는 조회 기간(Date)과 Aggregator Activity Name이 표시됩니다.

Node Stat 탭​

기본으로 선택되는 탭으로, 해당 SQL이 실행된 노드별 쿼리 통계를 그리드로 표시합니다.

  • Host: 쿼리가 실행된 노드의 호스트 주소입니다.
  • Port: 노드의 포트 번호입니다.
  • Type: 노드 유형입니다. MA(Master Aggregator)는 쿼리를 수신·분배하는 애그리게이터 노드이고, LEAF는 실제 데이터를 저장·처리하는 리프 노드입니다.
  • Node ID: 클러스터 내 노드 식별 번호입니다.
  • Query Text: 해당 노드에서 실행된 SQL 문입니다.
  • Activity Name: 노드에서의 활동 명칭입니다.

MA 노드와 LEAF 노드를 구분해 보면 애그리게이터에서 분산 실행 비용이 발생하는지, 특정 리프 노드에 처리가 집중되는지를 파악할 수 있습니다.

Full Text 탭​

선택한 SQL의 전체 텍스트를 구문 강조로 표시합니다. [Formatting] 버튼을 클릭하면 SQL이 보기 좋게 들여쓰기·정렬되고, 우측 상단 복사 아이콘으로 전문을 클립보드에 복사할 수 있습니다.

Trend 탭​

선택한 SQL의 시간대별 추이를 다음 지표별 차트로 표시합니다.

  • Elapsed Time: 경과 시간 추이입니다.
  • Disk I/O: 디스크 입출력량 추이입니다.
  • Network I/O: 네트워크 입출력량 추이입니다.
  • Executions: 실행 횟수 추이입니다.

각 차트는 노드 유형별(Aggregator, LEAF)로 구분된 라인으로 표시되어, 특정 노드 그룹에서 지표가 급등하는 시점을 파악하는 데 유용합니다. 패널 상단의 기간 선택기로 조회 범위를 변경할 수 있습니다.

History 탭​

선택한 SQL의 과거 실행 이력을 시간 순서로 표시합니다. 이력 조회로 성능 저하가 특정 시점부터 발생했는지, 주기적으로 반복되는 패턴인지를 확인할 수 있습니다.

Plan 탭​

선택한 SQL의 쿼리 실행 계획을 표시합니다.

참고

Plan 탭에서 실행 계획을 확인하려면 SingleStore의 enable_disk_plan_explain 설정이 활성화되어 있어야 합니다. 설정이 비활성화된 경우 "No query results found. Please check the enable_disk_plan_explain setting." 메시지가 표시됩니다.