practical debugging note
Nginx 서비스가 간헐적으로 느릴 때 원인 좁히는 방법
Nginx/도메인 작업에서 Nginx 문제를 확인할 때 볼 값과 검증 순서를 정리했습니다.
Nginx 메모 322 기준으로 보면, 검색해서 들어온 상황이라면 바로 재현 조건부터 잡는 편이 빠르다.
- Nginx 기준으로 보는 문제 상황
- Nginx/도메인 관점의 확인 범위
- 프록시 규칙 확인과 로그에서 볼 부분
- Nginx/도메인 관점의 작게 바꿔볼 것
- 캐시 확인과 실패했을 때 다음 후보
Nginx 메모 322 기준으로 보면, 검색해서 들어온 상황이라면 바로 재현 조건부터 잡는 편이 빠르다.
핵심은 Nginx 메모 322에서 한 단어만 붙잡지 않고 트래픽 경로 전체 흐름에서 원인을 좁히는 것이다. Nginx 메모 322에서는 재현 조건, 로그, 응답처럼 눈으로 확인할 수 있는 값을 먼저 모은다.
Nginx 기준으로 보는 문제 상황
메모 322에서 중요한 건 Nginx 자체보다 재현 가능한 단서를 남기는 것이다. 메모 322의 Nginx 기준으로 보는 문제 상황 기준으로 HTTP status을 확인하면 다음으로 볼 범위가 확 줄어든다.
Nginx/도메인 관점의 확인 범위
메모 322에서 Nginx 주변 문제가 반복된다면 확인 순서를 고정해두는 편이 낫다. 메모 322의 Nginx/도메인 관점의 확인 범위을 매번 감으로 접근하면 같은 실수를 반복하게 된다.
- 먼저 볼 값: 프록시 규칙
- 같이 비교할 값: 정상일 때의 트래픽 경로 상태
- 남겨둘 기록: 명령 출력, 응답 코드, 수정한 설정
프록시 규칙 확인과 로그에서 볼 부분
메모 322에서는 바로 수정하기 전에 인증서부터 확인하면 불필요한 변경을 줄일 수 있다. 메모 322의 프록시 규칙 확인과 로그에서 볼 부분에서 작은 확인이 쌓이면 원인 후보가 자연스럽게 줄어든다.
dig example.com
curl -I https://example.com
sudo nginx -t
Nginx/도메인 관점의 작게 바꿔볼 것
메모 322의 Nginx/도메인 관점의 작게 바꿔볼 것에서는 정상 상태를 먼저 정해두는 게 좋다. 그래야 메모 322에서 캐시 결과가 맞는지 아닌지를 빠르게 판단할 수 있다.
캐시 확인과 실패했을 때 다음 후보
메모 322의 캐시 확인과 실패했을 때 다음 후보에서는 트래픽 경로의 흐름을 먼저 끊어서 본다. 특히 메모 322에서 DNS 응답이 애매하면 다른 부분을 고쳐도 결과가 바뀌지 않을 수 있다.
- 원래 증상이 같은 조건에서 다시 나는지 확인한다.
- 로그나 응답에서 바뀐 부분을 한 줄로 설명해본다.
- 공개 화면, 빌드 결과, 실제 요청 중 하나로 마지막 확인을 한다.
Nginx/도메인 관점의 다음에 남길 기록 · 메모 322
메모 322의 Nginx/도메인 관점의 다음에 남길 기록 · 메모 322에서는 정상 상태를 먼저 정해두는 게 좋다. 그래야 메모 322에서 HTTP status 결과가 맞는지 아닌지를 빠르게 판단할 수 있다.
마지막으로, Nginx 메모 322 기준에서는 작은 확인을 남겨두면 다음 문제를 훨씬 짧게 처리할 수 있다. 관련 기록을 짧게라도 남겨두면 다음 확인이 훨씬 빨라진다.