내가 하는일은 대충 분석엔진 개발하고, 인프라 관리하고해서 플랫폼 서비스 만드는일임
이주전 대규모 트래픽 예고 된다고 해서, 분석엔진 성능 튜닝, DB 튜닝, 오토스케일러 튜닝 등등 진행했고 이후 대규모 트래픽도 잘 받아 내는 상황이 였음
DB 튜닝 이후, 간간히 필드 크기 작다는 DB 오류가 보이길래 오늘 사람도 별로 없겠다 라이브 서버에 alter table 때리는 순간 "아 시발 ㅈ댔다" 라는 촉이 오더라
그래서 얼른 alter table 하던 DB 클라이언트 종료했는데, 그땐 몰랐지 이게 문제 될지..
5분후에 갑자기 서비스에 사용자 몰리면서 이용이 안된다고 이슈 졸라 오는거.. DB에 붙어있는 놈들 로그 보니깐 DB에 기록 하는 순간 진행이 안됨..
일단 DB에 붙어있는 놈들 재시작 했는데, 이때 기존 컨테이너 안내려간 상태로 새로운 컨테이너가 수십개가 뜨니깐 DB 커넥션 부족으로 수백개 알림이 옴..
여기서 또 2차 패닉.. ㅋㅋ 하.. 이때 팀장한테 뭔일이냐고 전화오고..
내가 패닉 오니깐 상황 전달도 제대로 못하고, 어버버하고 있으니 팀장은 차피 이거 터져도 님이 돈 물어주거나 고객사 응대 하는거 아니니깐 일단 진정하고 로그 보면서 문제 부터 찾자고 함..
일단 그 이야기 들어보니깐 DB 쿼리 로그를 안봤더라고? 보니깐 어휴.. alter table 때문에 싹다 metalock 걸리고 있는 상태였음
뭐 어쩌겠어.. 팀장한테 DB 껏다 킨다 했지..
이렇게 무사히 일단 정상화 시켜놓긴 했는데, 하.. 자괴감 든다.. 왜 alter table을 했을까..
년째 고민중
와... 실제 서비스중인 디비에 alter table... 이거 귀하군요...
잉텔
트래픽 예측 못한 내잘못이지 뭐..
년째 고민중
그 테이블이 자주쓰이는 메인 테이블이였나보네요
잉텔
메인테이블까진 아니고 그냥 분석엔진 결과를 티켓 기준으로 JSON 때려넣은 테이블이긴함
서비스 특성상 요청만 빨리 받아주고, 결과는 나중에 줘도 되는데, 하필이면 그때 결과 조회가 몰린상황..
년전개드립가입
로그테이블에 alter table... 좋은 사례 감사합니다.
RhPlusMinus
원래 서비스 중인 라이브 db 스키마를 건들 일이 많이 있나용?
잉텔
라이브 db 스키마 건드는건 안건들이려고 함.. 어쩔수 없이 하는건 리뉴얼 하거나 기능 추가 되는 경우는 날잡고 한번에 하고..
오늘 변경건도 설계 당시에 예상치 못한 결함이라서 트래픽 없을때 수행 하려고 했던건데, 잘못된 예측이였던것..
RhPlusMinus
답글 고맙슴닷🫡
잠적자
pt-osc같은건 쓰기 힘든 환경인가?
잉텔
와 이런게 있었구나..
잠적자
안그럼 블락걸려 친구야…
년째 고민중
와... 이런게 있구나.. 감사합니다 오늘도 좋은거 하나 알아가네요
눈크게뜨고보세요
와 상상조차 못해본걸 하셨네 ㄷㄷ
잉텔
그냥 냅뒀다가 저녁에 할걸 그랬어..
역시자네야
와 운영 디비에 직접 alter ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ...... 보통 깡이 아니네 ㅋㅋㅋㅋㅋ
잉텔
당시엔 미쳤나봐.. 왜 그랬을가..
역시자네야
ㄱㅊ 원래 이 업계는 알겠지만 똥 쌀 수록 실력이 늘지....
대신 운영에서 하지말고 개발서버 있잖아 ㅋㅋㅋㅋㅋㅋ 개발서버에 똥뿌려가면서 배워
슈카임
깡다구.좋다 ㅋㅋㅋ
반박시내말이맞음
고생햇슈
외화벌이꾼
확실하게 배웠네 ㅋㅋ
VXcePsbmqh
뭐 이런일도 있는거지~~~ 고생했슈