본문으로 건너뛰기

락 트리

락 트리 화면에서는 잠금(Lock)으로 인해 서로 대기하는 세션을 트리 형태로 확인할 수 있습니다. 어떤 세션이 자원을 쥐고 있고(holder) 어떤 세션이 그것을 기다리는지(waiter) 부모와 자식 관계로 보여 줘서, 교착 상태의 원인 세션을 빠르게 찾도록 돕습니다.

락과 락 트리

쉽게 말하면 락은 같은 데이터를 동시에 바꾸지 못하도록 거는 잠금장치입니다. 한 세션이 데이터를 수정하는 동안 다른 세션은 기다려야 합니다. 기다리는 세션이 늘어나 서로 물고 물리면 교착 상태가 됩니다. 락 트리는 이 대기 관계를 나무 모양으로 펼쳐, 맨 위에서 자원을 쥐고 있는 세션(원인)을 찾게 해 줍니다.

기본 화면 안내

화면 상단에서 인스턴스와 데이터베이스를 선택합니다. 먼저 Lock Wait Sessions 차트에서 락 대기가 발생한 시점을 선택하면, 그 시점의 Lock Tree와 Total Locks를 확인할 수 있습니다. 수 분 이상 지속된 락을 짚어 주므로 오래 묶여 있는 잠금을 빠르게 찾을 수 있습니다.

영역설명
Lock Wait Sessions시간대별 락 대기 세션 수 차트. 조회할 시점을 선택
Lock Tree선택 시점의 잠금 대기 관계를 트리로 표시
Total Locks선택 시점의 전체 락 수

컬럼 안내

자원을 쥔 세션(holder)과 기다리는 세션(waiter)을 다음 컬럼으로 표시합니다.

ColumnDescription
instance세션이 실행 중인 노드
node_id노드 식별자
session_id세션 ID
db사용 중인 데이터베이스
user접속 사용자
tx_state트랜잭션 상태
lock_type잠금 유형
row_locks행 잠금 수
partition_locks파티션 잠금 수
activity작업 이름
raw_task실행 중인 SQL 원문
sql_paramSQL 파라미터
command실행 중인 명령 종류
elapsed_time_ms수행 시간 (밀리초)

여기서 헷갈릴 수 있는 부분은 세션을 식별하는 방식입니다. MySQL은 세션 ID 하나로 식별하지만, SingleStore는 분산 환경이라 노드 식별자와 세션 ID를 함께(node_id + session_id) 매칭 키로 사용합니다. 같은 세션 ID라도 노드가 다르면 다른 세션이기 때문입니다. row_locks·partition_locks는 분산 환경에서 잠금이 행 단위인지 파티션 단위인지 구분해 줍니다.

락 해소

원인 세션(holder)을 확인한 뒤 필요하면 해당 세션을 중지할 수 있습니다. 세션 중지 방법은 세션 히스토리인스턴스 모니터링 문서를 참조하세요.

AI로 분석하기

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

  • 분석에 사용하는 데이터는 조회 범위 전체의 추이, 30분 구간 집계, 선택 시점의 잠금 트리 스냅샷 세 가지입니다.

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

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