개발자

백엔드 서버 안정화를 위한 체크사항은 어떤 것들이 있나요?

2023년 01월 04일조회 415

안녕하세요 이제 막 취업을 해 프로젝트를 진행중인 주니어 개발자 입니다. 회사의 상사분께서 ”백엔드 서버가 불안정하다“(time out error, 500 response) 라고 약간 포괄적으로 말씀하셔서 최대한 안정화를 시도해보려고 합니다. 제가 백엔드부터 배포까지 전반적인 측면을 맡고있어 어디서부터 어떻게 체크하면서 나아가야 할 지 모르겠어 질문을 남기게 되었습니다... 질문이 조금 모호하나 안정화 관련 키워드라도 남겨주시면 감사하겠습니다!!!😁😁

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 2

문석기님의 프로필 사진

안녕하세요. 결국 포인트는 어떠한 에러메세지가 나오는지 확인해서 백엔드서버 전반적인 트러블슈팅을 해야합니다. 말씀주신 두가지 경우를 살펴보면 타임아웃 같은 경우 백엔드에서 설정된 응답시간을 초과했을때 나오는 경우입니다. 보통 DB에서 수행하는 쿼리가 오래걸리거나 드물지만 백엔드 수행코드부분에서 오래걸렸을 경우를 체크해보시면서 해결해야합니다. 500에러의 경우 간단하게 백엔드 수행코드에서 에러처리를 하지않은 부분에서 에러가 발생했다는 겁니다. <- 에러처리가 누락된 부분이 있나 체크 응답에 경우 명확하게 요청이 있다는 것이니 그에 맞는 로직을 찾아보면서 처리하면 될 것 같습니다. 소스레벨의 에러 외에도 aws의 경우 동적으로 내부라우팅이 변하는데 이런 시점에 권한에러가 발생하기도 합니다. aws 환경에 대한 이슈트래킹도 해보시면 좋습니다.

옥민수님의 프로필 사진

1. 먼저 HTTP 에러코드를 숙지하신 후 2. API에서 500이 발생되는 경우는 다양합니다. 제일 처음에 보셔야할 것은 500 에러가 발생되었을 때의 요청입니다. 프록시나 서버에서 요청과 응답에 대한 로그가 있는지 찾아보시면 좋고 만약 없다면 로깅부터 시작해야합니다. 3. 로그를 통해 의심되는 부분이 있다면 요청 내용을 그대로 요청하여 크래시나 지연이 발생하는 단위테스트를 시행하고 상응하는 대응을 해주시면 됩니다. 4. 코드 상의 문제가 아니라는 확신이 든다면 그 다음엔 서버의 구동환경, 메모리나 CPU, 소켓, 파일오픈 등등을 살펴보고 시스템 로그 중심으로 확인을 합니다. 5. 시스템의 문제가 아닐 경우 API가 참조하는 리소스(데이터베이스, 스토리지등)의 시스템 로그를 살펴 보시고요. 6. 그럼에도 없다면 로드밸런서 상의 로그도 살펴보시고 클라이언트와 서버 구간 사이에 네트워크 상의 지연이 발생한 부분이 있는지 보시면 좋습니다. 보통 이 안에서 해결이 됩니다.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!