목록 보기
누가 내 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 급등 현상도 해소

다음 읽기

#Debezium 주제를 다룬 다른 회사 글

밑바닥부터 시작하는 실시간 데이터 파이프라인 : Debezium 톺아보기

기존 배치 적재의 지연을 줄이기 위해 Debezium 기반 실시간 CDC 파이프라인을 구축한 과정을 정리했습니다. Kafka Connect 구조, 스냅샷, 오프셋 관리와 성능 개선 포인트까지 살펴보았습니다.

여기어때
여기어때
백엔드

댓글 0개

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

댓글을 불러오는 중...