본문으로 건너뛰기

슬로우 쿼리

홈 화면 > 프로젝트 선택 > 대시보드 > 슬로우 쿼리

데이터베이스에서 제공하는 슬로우 쿼리 로그를 읽어 시각적인 차트로 표현합니다. 슬로우 쿼리에 대한 기준 시간은 DB 파라미터에 설정하며 슬로우 쿼리 로그에 있는 SQL을 보여줍니다.

정보

동일한 SQL이라도 멀티 인스턴스 모니터링 메뉴의 SQL Elapse Map 지표의 경우 액티브 세션을 기반으로 산정한 시간이라 오차가 발생할 수 있습니다.

사용 설정 안내

슬로우 쿼리 메뉴를 사용하려면 다음과 같이 파라미터 및 권한을 설정해야 합니다.

DBX 에이전트 파일 설정

whatap.conf
slow_query_log=ON

DB 파라미터 설정

postgresql.conf
log_min_duration_statement = 500 # 예: 500ms 이상 소요되는 SQL 기록

DB 서버의 XOS 에이전트 설정

Slow query의 수집 수기를 조정하려면 다음과 같이 설정하세요.

xos.conf
slow_query_interval = 30 # 기본값 30초
노트
  • RDS postgreSQL의 slow query는 지원하지 않습니다.

  • 모니터링 대상 DB 서버에 XOS 에이전트를 설치해야 slow query를 모니터링할 수 있습니다. XOS 에이전트 설치에 대한 자세한 내용은 다음 문서를 참조하세요.

환경별 WhaTap 설정

슬로우 쿼리 수집은 사용자의 환경(온프레미스 또는 AWS RDS/Aurora)에 따라 WhaTap 설정 방법이 달라집니다.

노트

사용자의 환경에 따른 슬로우 쿼리 수집 설정 방법은 다음 문서를 참고하세요.

기본 화면 안내

slow query

  • 지시선 1 시간 / 인스턴스

    진행 중인 세션의 시간을 변경하거나 개별 인스턴스를 선택할 수 있습니다.

  • 지시선 2 Slow Query

    Slow Query가 발생한 시점을 차트로 표시합니다. 마우스로 특정 영역을 드래그하면 지시선 3 Slow Query List에서 상세 정보를 확인할 수 있습니다.

  • 지시선 3 Slow Query List

    Slow Query 차트에서 드래그한 영역의 Slow Query 상세 정보를 목록에 표시합니다. SQL 항목을 선택하면 쿼리(query)의 Full Text 및 Plan 정보를 확인할 수 있습니다.

SQL 상세 정보 확인하기

현재 수행 중인 세션의 SQL 쿼리 정보를 확인하려면 Slow Query List 섹션의 SQL 컬럼 항목을 선택하세요. SQL 상세 창이 나타납니다. SQL 쿼리문과 Plan 정보를 확인할 수 있습니다.

SQL 통계 보기 버튼을 클릭하면 해당 SQL 쿼리문과 관련한 통계 정보를 확인할 수 있는 SQL 통계로 이동할 수 있습니다.

SQL 상세

  • Default Bind: 쿼리 문장에서 변수로 설정된 부분을 기본값으로 바인딩할 수 있습니다.

  • Reset Bind: 바인딩된 기본값을 해제하고 변수를 확인할 수 있습니다.

  • Formatting: SQL 쿼리문에 들여쓰기 및 포맷팅을 적용해 가독성을 높일 수 있습니다.

  • Plan: Plan 정보를 확인하려면 DB Name, User Name, Password를 입력하고 검색 아이콘 버튼을 클릭하세요.

    • Text: 텍스트 형식으로 플랜 정보를 확인할 수 있습니다.

    • JSON: Json 형식으로 플랜 정보를 조회하면 병목이 발생하는 지점을 빠르게 확인할 수 있습니다.

    노트

    JSON 형식으로 플랜 정보를 조회하는 기능은 DBX 에이전트 1.6.12 버전 이상에서만 지원합니다.

JSON 형식으로 플랜 정보를 조회한 상태에서 table 또는 index 항목을 선택하면 테이블의 column, index 구성을 확인할 수 있는 Object detail 창이 나타납니다.

Object detail

이 기능은 DBX 에이전트 1.6.15 버전 이상에서 지원합니다. 데이터베이스 권한과 관련한 설정은 다음 문서를 참조하세요.

AI 튜닝 가이드

AI 튜닝 가이드는 SQL 쿼리, Plan, 통계 정보를 분석하여 성능 문제를 진단하고, 최적화 방안을 제시하는 기능입니다. 개발자와 DBA가 병목 원인을 빠르게 파악하고, 효율적인 SQL로 성능을 개선할 수 있도록 지원합니다.

주의

사용 조건 및 유의 사항

PostgreSQL, MySQL, SQL Server는 Plan 조회가 필수입니다.
Plan을 조회하지 않으면 AI 튜닝 가이드 아이콘이 비활성 AI 튜닝 가이드 아이콘(비활성화) 상태로 표시되며, 기능을 사용할 수 없습니다.

  • AI가 생성하는 결과는 자동 분석에 기반하며, 정확도가 100%는 아님을 유의하시기 바랍니다.
  1. 분석 및 진단할 SQL을 클릭해 SQL 상세 화면으로 이동합니다.

  2. SQL 상세 화면의 오른쪽 아래 AI 튜닝 가이드 아이콘 AI 튜닝 가이드 아이콘을 클릭해 AI 분석을 시작합니다.

  3. AI 분석 결과를 확인합니다.

    결과 항목설명
    쿼리 플랜 및 요약쿼리의 목적과 실행 요약
    - 실행 횟수, 누적 실행 시간, 데이터베이스 전체 부하 비중을 분석해 해당 SQL이 시스템 성능에 미치는 영향 평가
    성능 분석분석 결과를 종합해 성능 점수와 진단 결과 제공
    - CPU 사용률, 디스크 사용률, 캐시 적중률, 대기 시간 등 쿼리 수행 과정의 세부 리소스 사용량을 분석해 병목이 발생한 구간을 시각적으로 보여줌
    발견된 주요 이슈주요 이슈 요약 제공
    최적화 권장 사항이슈에 따른 최적화된 쿼리 제안

디폴트 플랜 조회하기

디폴트 플랜 유저 파일 생성 시 에이전트가 사전 정의된 DB 정보를 사용하여 플랜을 자동으로 조회하도록 설정할 수 있습니다. 디폴트 플랜 조회 항목에 체크 박스를 선택 후 다음과 같이 미리 입력한 DB 접속 정보를 통해 플랜 정보를 조회하세요.

  1. 에이전트 설정(whatap.conf) 파일에 plan_db 옵션을 추가하고 DB 이름을 입력하세요.

    whatap.conf
    plan_db=(dbname)
  2. DB 설정 후 planuid.sh 스크립트를 사용하여 사용자 및 비밀번호를 설정하세요.

    ./planuid.sh user pwd
    노트

    사용자(user)와 비밀번호(pwd)에 특수 문자가 포함되어 있는 경우 각 특수 문자 앞에 역슬래시(\)를 추가하세요.

    예. user$exampleuser\$example