새벽 3시, 주문 DB 쓰기 실패
새벽 3시, 주문 생성과 결제 확정만 실패하기 시작했습니다. 조회는 멀쩡합니다. 주문 DB 서버에서 무슨 일이 벌어졌는지 찾아, 데이터를 잃지 않고 쓰기를 되살리세요.
PAGE · 03:12 KST
주문 요청 실패 31%쓰기만 실패 · 조회 정상
상황
당신은 이번 주 인프라 온콜입니다. 새벽 3시 12분, 주문 API 쓰기 오류 알람에 깼습니다. 주문 DB(order-db-01, PostgreSQL 15, 데이터는 /data 볼륨 200G)는 VM 한 대에서 돌고, 복제 대기 서버가 한 대 있습니다. 새벽이라 요청은 분당 260건뿐이지만, 해외 파트너 정산 배치가 04:00에 시작합니다.
명령은 선택지로 고릅니다. 행동할 때마다 가상 시간이 흐르고, 결과는 그 순간의 서버 상태에 따라 달라집니다. 되돌리기 어려운 조치는 한 번 더 묻습니다.
목표
- 주문 쓰기를 되살린다(완화)
- 무엇이 공간을 채웠는지, 왜 그랬는지 밝힌다
- 다시 차지 않게 원인을 되돌린다
- 지표를 확인하고 해결을 선언한다
다루는 기술
df와 du가 다를 때지웠는데 공간이 안 돌아오는 파일(lsof +L1)안전한 공간 확보 순서PostgreSQL 로그 설정
결과는 서버가 판정합니다. 원인과 모범 경로는 끝난 뒤에 보입니다.
진행 방식
- 선택지로 행동관찰·조치·소통 중에서 고릅니다. 각 행동에는 실제 명령과 가상 소요 시간이 붙어 있습니다.
- 행동할 때만 흐르는 시계읽고 생각하는 시간은 공짜입니다. 대신 행동마다 시간이 들고, 그 사이에도 에러와 영향은 쌓입니다.
- 가설 보드지금 생각하는 원인을 하나 고정하고 근거를 한 줄 남깁니다. 근거가 된 관찰 뒤에 세운 가설이 점수를 받습니다.
- 위험한 조치는 확인되돌리기 어려운 조치는 실행 전에 한 번 더 묻습니다. 효과 없이 위험만 큰 조치는 안전 점수가 깎입니다.
- 해결 선언과 회고지표가 정상일 때만 해결됩니다. 선언 뒤 재발 방지 항목을 고르면 디브리프가 열립니다.
- 100점 + 회고 보너스진단 30 · 완화 25 · 안전 20 · 확인 15 · 소통 10, 회고 +5. 등급 S·A·B·C·D.