본문으로 건너뛰기

데드락

홈 화면 > 프로젝트 선택 > 분석 > 데드락

데드락(Dead Lock)은 둘 이상의 트랜잭션이 각각 상대방이 잠근 리소스(테이블 또는 행)를 기다리며 서로 진행하지 못하는 상태입니다. 빈번한 데드락은 최종 사용자에게 불편함을 주고 서비스 품질을 저하시킵니다.

  • 데드락이 발생한 시점과 관련 정보를 조회할 수 있습니다.

  • 에이전트가 SHOW ENGINE INNODB STATUS 명령어를 주기적으로 실행하여 데드락 정보를 수집합니다.

  • 수집한 정보가 이전과 중복되면 별도로 저장하지 않습니다.

노트

이 명령어의 특성상 가장 최근에 발생한 데드락 정보만 확인할 수 있습니다. 수집 주기 사이에 여러 건의 데드락이 발생하더라도 마지막 한 건만 수집됩니다.

사전 설정

데드락을 사용하려면 Agent 설정이 필요합니다.

Agent 설정

별도 설정 없이 1시간 간격으로 데드락 정보를 수집합니다. 수집 주기를 변경하려면 whatap.conf에 다음 설정을 추가합니다.

deadlock_interval=60
설정 항목타입기본값설명
deadlock_intervalInt60데드락 정보를 수집하는 간격(분)을 설정합니다. 설정한 주기 동안 발생한 데드락 중 가장 마지막에 발생한 하나의 데드락 정보만 수집합니다.

SHOW ENGINE INNODB STATUS 명령어는 시스템 부하가 거의 없으므로, 데드락이 빈번한 환경에서는 수집 간격을 줄여 모니터링하는 것을 권장합니다. 수집 간격이 길면 그 사이에 발생한 데드락이 유실될 수 있습니다.

데드락 분석하기

사용자는 특정 시간, 인스턴스를 선택하여 데드락 이벤트를 조회할 수 있습니다.

기본 옵션

상단 필터 영역에서 조회 기간, 대상 인스턴스를 설정할 수 있습니다.

  • 시간: 조회할 시간 범위를 선택합니다. 최대 3주까지 선택할 수 있습니다.
  • 인스턴스: 조회 대상 DB 인스턴스를 선택합니다.

데드락 목록

설정한 조건으로 검색하면, 데이터베이스에서 발생한 데드락 정보를 테이블 형태로 제공합니다.

알람 설정

데드락 발생에 대한 알람을 설정할 수 있습니다. 단, 데드락 정보는 deadlock_interval 주기마다 확인되므로, 알람은 실시간으로 발생하지 않고 해당 주기에 확인된 데드락에 대해 발생합니다.

데이터 해석 가이드

주요 확인 포인트

  • 데드락 발생 빈도: 짧은 기간에 반복적으로 발생하면 → 트랜잭션 설계 또는 인덱스 구조 점검 필요
  • 관련 테이블/행: 동일한 테이블에서 반복 발생하면 → 해당 테이블의 접근 패턴과 락 범위 확인
  • 관련 트랜잭션: 어떤 SQL이 충돌하는지 확인 → 트랜잭션 순서 조정, 락 범위 축소 검토
  • 발생 시간대: 특정 시간대에 집중되면 → 배치 작업, 트래픽 증가 등 외부 요인 확인

실전 활용 시나리오

시나리오 1. 데드락 발생 이력 조회

  1. 시간 필터에서 확인하려는 기간 설정

  2. 인스턴스를 선택한 뒤 검색

  3. 데드락 목록에서 발생 시점과 관련 정보 확인

시나리오 2. 반복 데드락 원인 분석

  1. 최근 1~3주 기간으로 조회하여 데드락 발생 패턴 확인

  2. 동일한 테이블이나 SQL에서 반복 발생하는지 확인

  3. 관련 트랜잭션의 실행 순서와 락 범위를 분석하여 설계 개선

시나리오 3. 수집 주기 및 알람 조정

  1. 데드락이 빈번하여 누락이 우려되면 deadlock_interval 값을 줄여 수집 주기 단축

  2. 데드락 발생 시 즉시 인지가 필요하면 알람 설정을 활성화하고 deadlock_interval을 짧게 조정

AI로 분석하기

화면에서 WhaTap AI 버튼을 클릭하면 WhaTap AI 채팅 창이 열리고, 조회한 화면 데이터를 요약해 분석한 결과가 대화로 표시됩니다. 결과를 읽은 다음 같은 대화에서 후속 질문을 이어서 할 수 있습니다.

  • 분석에 사용하는 데이터는 조회된 데드락 이력 중 최근 15건입니다.

  • 분석 대상은 화면에 조회된 데이터입니다. 조회 조건을 바꾼 다음 다시 분석하면 바뀐 데이터를 기준으로 분석합니다.

  • 대화 이력에는 AI 분석 - {화면 이름} 형식으로 기록됩니다.