본문 바로가기

MySQL2

[AWS RDS] pt-query-digest를 활용한 slow query 분석 📌 문제 상황RDS에서 slow_query_log를 켜둔 상태였는데, 로그가 수만 건 이상 쌓여 관리가 어려워짐로그를 직접 보면 조건값이 조금씩 달라서 전부 다른 쿼리처럼 보임실제로는 같은 쿼리 패턴인데 단순 값 차이 때문에 중복 로그처럼 쌓이고 있었음즉, 비슷한 쿼리를 묶어서 패턴화하지 않으면 개선 포인트를 찾기 어려운 상황 📌 해결 방법저는 크게 두 가지 단계를 거쳐 문제를 해결했습니다.로그 파일 다운로드AWS Console에서 RDS 인스턴스를 선택하고 '로그 및 이벤트' 탭으로 이동slowquery/mysql-slowquery.log 파일을 다운로드로그 분석Percona Toolkit의 pt-query-digest를 이용해 쿼리를 패턴화 & 집계상위 몇 개의 문제 쿼리만 집중적으로 튜닝 📌 .. 2025. 9. 1.
Firebase Functions onWrite와 Too Many Connections 오류 Firebase를 이용한 서비스에서 데이터베이스를 MySQL로 마이그레이션하는 과정은 효율적인 데이터 동기화가 핵심입니다. 특히 Firebase Functions의 onWrite 트리거를 사용하여 Firestore 데이터를 MySQL로 실시간 동기화할 때, 대규모 데이터 업데이트는 예상치 못한 Too Many Connections 오류를 유발할 수 있었습니다. 본 글에서는 마이그레이션 과정에서 겪었던 이러한 문제 상황과 그 해결 과정을 공유합니다.문제 상황: 베스트 리뷰 선정과 대규모 onWrite 트리거저희 서비스에는 특정 리뷰를 '베스트 리뷰'로 설정하는 기능이 있습니다. 이 기능은 다음과 같은 로직으로 작동하도록 설계되었습니다.특정 리뷰를 베스트 리뷰로 설정하게되면 해당 리뷰의 today_index.. 2025. 7. 28.
반응형