데드락
홈 화면 > 프로젝트 선택 > 분석 > 데드락
데드락(Dead Lock)은 둘 이상의 트랜잭션이 각각 상대방이 잠근 리소스(테이블 또는 행)를 기다리며 서로 진행하지 못하는 상태입니다. 빈번한 데드락은 최종 사용자에게 불편함을 주고 서비스 품질을 저하시킵니다.
-
데드락이 발생한 시점과 관련 정보를 조회할 수 있습니다.
-
에이전트가
SHOW ENGINE INNODB STATUS명령어를 주기적으로 실행하여 데드락 정보를 수집합니다. -
수집한 정보가 이전과 중복되면 별도로 저장하지 않습니다.
노트
이 명령어의 특성상 가장 최근에 발생한 데드락 정보만 확인할 수 있습니다. 수집 주기 사이에 여러 건의 데드락이 발생하더라도 마지막 한 건만 수집됩니다.
사전 설정
데드락을 사용하려면 Agent 설정이 필요합니다.
Agent 설정
별도 설정 없이 1시간 간격으로 데드락 정보를 수집합니다. 수집 주기를 변경하려면 whatap.conf에 다음 설정을 추가합니다.
deadlock_interval=60
| Option | Type | Default | Description |
|---|---|---|---|
deadlock_interval | Int | 60 | 데드락 정보를 수집하는 간격(분)을 설정합니다. 설정한 주기 동안 발생한 데드락 중 가장 마지막에 발생한 하나의 데드락 정보만 수집합니다. |
팁
SHOW ENGINE INNODB STATUS 명령어는 시스템 부하가 거의 없으므로, 데드락이 빈번한 환경에서는 수집 간격을 줄여 모니터링하는 것을 권장합니다. 수집 간격이 길면 그 사이에 발생한 데드락이 유실될 수 있습니다.