목록 보기
MySQL online alter부터 CPU 100% 장애까지
백엔드

MySQL online alter부터 CPU 100% 장애까지

데브시스터즈
데브시스터즈
2023년 9월 5일

두줄요약

운영 중인 MySQL 대용량 테이블에 online alter를 적용한 과정과, 이후 CPU 100% 장애를 해결한 경험을 공유했습니다. Percona Toolkit과 캐시 구조 개선으로 서비스를 정상화했습니다.

문제 상황

  • 신규 기능인 패키지 매출 랭킹 구현을 위해 구매 시점 정보와 인덱스 추가가 필요했지만, 운영 중인 대용량 MySQL 테이블 특성상 일반 ALTER TABLE과 점검 시간 적용이 어려운 상황
  • online alter 도입 과정에서 MySQL inplace algorithm은 간헐적 Duplicate entry 오류로 폐기

해결 방법

  • Percona Toolkit의 pt-online-schema-change로 staging, production 복제본, staging, production 순으로 단계적 검증 후 적용
  • chunk-size 조정으로 CPU 사용량을 확인하며 250으로 결정하고, 트리거·복사·스왑 방식의 online schema change 수행

성능/운영 포인트

  • 배포 후 쿼리 최적화 미흡과 서버별·게임데이터별 캐시 분산으로 Database CPU가 100%까지 상승
  • 쿼리 조건 단순화와 스케줄러 서버 기반 단일 캐시 구조로 변경해 DB 쿼리 실행 횟수와 부하를 감소

다음 읽기

같은 회사의 연관 글

쿠키런: 킹덤 길드 업데이트 이후 서비스 이슈 되돌아보기

길드 업데이트 이후 CockroachDB 클러스터에서 Hot Range로 인한 과부하 이슈를 회고했습니다. 점검 방식 조정, 테이블 단위 백업, Split과 Decommission으로 장애를 수습했습니다.

데브시스터즈
데브시스터즈
백엔드

댓글 0개

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

댓글을 불러오는 중...