개발자
node.js로 api 개발 후 aws ec2에 올려서 api 배포를 했는데 GET 요청을 7번정도 보내면 서버가 무한로딩이 걸리고 문제가 발생했습니다. 제가 예상하는 문제는 sql문을 작성할 때 너무 많은 join 연산과 데이터 양으로 ec2 프리티어가 감당하지 못한 것이라고 생각하고 있습니다! 혹시 이 부분 이외에도 무한로딩에 영향을 주는 부분이 있는지, sql문의 join 연산을 인덱싱으로 최적화할 수 있다고 들었는데 이 부분이 맞는지 질문하고 싶습니다!
답변 1
SQL서버가 같은 호스트에 돌고있나요? 요청당 처리에 걸리는 시간과 메모리, cpu 상태 등을 먼저 확인 해 보시는게 좋을 것 같습니다. AWS에서 제공하는 자체 모니터링 솔루션을 활용하셔도 좋고 가장 간단하게로는 서버에서 top 커맨드를 실행시켜둔 상태에서 요청을 보내보시면 대략적으로 확인이 가능할 것 같습니다. 인덱싱등을 통한 최적화도 물론 가능은 하겠지만 이미 primary key, foreign key등을 지정하셨다면 아마 크게 최적화 하실 수 있는 내용은 딱히 없을 것 같습니다. 같은 쿼리라면 결과값을 일정 시간동안 캐시에 저장해서 비싼 sql연산대신 이전에 저장해둔 결과를 리턴하는 방법도 있을 것 같습니다
익명
작성자
2023년 07월 02일
SQL서버가 같은 호스트에서 돌고 있습니다! 그 부분에서 CPU나 메모리의 문제일 수도 있군요 ec2 모니터링으로 확인하는데 아직 답을 모르겠어서.. top 커맨드로 확인해보겠습니다 감사합니다:)
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!