목록 보기
쿼리가 길면 밟힌다! 포스타입에서 데이터베이스를 모니터링 하는 방식
백엔드

쿼리가 길면 밟힌다! 포스타입에서 데이터베이스를 모니터링 하는 방식

포스타입
포스타입
2025년 7월 18일

두줄요약

Aurora MySQL에서 Long Query와 긴 트랜잭션이 성능에 미치는 영향을 설명했습니다. 로그, Performance Insights, 스키마 정보를 활용한 모니터링과 개선 방법을 정리했습니다.

문제 상황

  • 대규모 요청을 처리하는 Aurora MySQL에서 긴 트랜잭션과 Long Query가 서비스 성능을 저하시키는 상황
  • 쿼리 실행 시간, HLL 증가, CPU 사용률, Transaction History Length 같은 지표만으로 원인 특정이 어려운 문제

원인 분석

  • Aurora의 분산 스토리지와 복제 구조로 인해 트랜잭션 유지 시간이 길어지며 리소스 점유가 커지는 특성
  • 오래된 통계 정보, 과도한 인덱스, 부적합한 인덱스 선택으로 옵티마이저 판단이 어긋나는 상황

해결 방법

  • Slow Query 로그와 CloudWatch Logs Insights로 반복 쿼리와 임계 초과 쿼리 식별, 슬랙 알림 설정
  • Performance Insights로 상위 SQL과 핵심 지표를 확인하고 EXPLAIN, ANALYZE로 실행 계획과 병목 점검
  • Information Schema, Performance Schema로 장시간 트랜잭션과 락 상태를 추적한 뒤 문제 프로세스 종료 및 트랜잭션 분리로 대응

댓글 0

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

댓글을 불러오는 중...