목록 보기
누가 내 DB CPU를 훔쳐갔을까? (feat. debezium)
백엔드

누가 내 DB CPU를 훔쳐갔을까? (feat. debezium)

라포랩스
라포랩스
2023년 3월 16일

두줄요약

Debezium connector 재시작 때 오래된 binlog를 다시 읽으며 DB CPU가 급등한 원인을 분석했습니다. heartbeat.interval.ms를 적용해 상태 기록 주기를 보강하고 문제를 해결했습니다.

문제 상황

  • Debezium connector 재시작 시 메인 DB CPU가 간헐적으로 80% 이상 치솟는 현상
  • 트래픽 증가와 무관하게 SHOW BINARY LOGS 부하가 발생한 흔적

원인 분석

  • Network I/O 급증과 RDS Performance Insight를 통해 Debezium connect pod를 부하 주체로 특정
  • connector 상태가 최신이 아니라 며칠 전 binlog position으로 저장된 사실 확인
  • 변경이 적은 테이블을 추적할 때 상태 기록이 늦어져 재시작 시 오래된 binlog를 다시 읽는 구조

해결 방법

  • heartbeat.interval.ms 옵션으로 주기적 heartbeat와 상태 기록 유도
  • 재배포 후 binlog position이 주기적으로 갱신되고 CPU 급등 현상도 해소

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...