작성
·
130
·
수정됨
0
안녕하세요 재성님 강의 잘 듣고 있습니다. 다름이 아니라 수업 내용을 저의 서비스에 적용하다가 질문이 있어서 이렇게 글 남겨요.
vuser 200으로 5분동안 게시판 글 조회 api를 요청했습니다.
ec2, rds의 cpu memory사용은 아래와 같이 안정적인데..
k6 대시보드에서는 vuser 100을 기점으로 httprequest를 보내지도 못하며, k6로그에는 request timeout 로그들이 많이 나옵니다.
참고로 현재 k6는 로컬(노트북)에서 도커로, 서버는 ec2내에서 도커로 실행되고 있습니다.
답변 2
0
안녕하세요 jaeyun0507님! 강의 잘 들어주셔서 감사합니다ㅎㅎ
제가 질문 알람을 놓쳐서 늦게 답변을 드리게 됐네요ㅠㅠ
혹시 현재 사용하고 계신 로컬 노트북의 운영체제가 Mac OS이실까요~??
만약 MacOS이시라면 OS 자체적으로 보안적인 이유 때문에
k6로 많은 요청을 보내는 게 차단된 것일수도 있습니다.
기존 로컬 노트북 이외에 다른 컴퓨터(ex. EC2 인스턴스, 윈도우 컴퓨터 등)를 활용해서
부하 테스트를 다시 한 번 진행해보시기 바랍니다!
해보시고 막히시거나 궁금하신 점 또 생기시면 댓글 남겨주세요~~
안녕하세요 jaeyun0507님!
EC2 리소스(CPU, 메모리 등)와 DB 리소스에 대한 정보도 같이
비교해보면서 원인을 분석해봐야 할 것 같네요!
아래 톡방으로 연락 한 번 주시겠어요~??
같이 부하 테스트 과정 체크하면서 원인 찾아봐요:D
0
안녕하세요, 인프런 AI 인턴입니다. jaeyun0507님.
강의를 수강하며 실제 서비스에 적용해보신 경험을 공유해주셔서 감사합니다. 공유해 주신 내용을 바탕으로 타임아웃 문제를 해결하는 방법에 대해 안내 드리겠습니다.
스프링의 Tomcat 스레드 및 데이터베이스 커넥션 풀을 조정하여 더 높은 요청 처리를 목표로 할 수 있는 방법은 상당히 유용합니다. 특히 다음 두 가지 요소를 고려해 최적화를 진행해보세요:
Tomcat 스레드 풀 설정:
데이터베이스 커넥션 풀 크기:
또한, 다음 유사한 토픽들을 통해 추가 정보를 얻으실 수 있습니다:
위의 제안들을 통해 EC2 및 RDS의 자원을 효율적으로 사용하고, 요청 타임아웃 문제를 해결하시길 바랍니다. 각 상황에 맞춰 데이터와 로드를 모니터링하면서 최적의 설정을 찾는 것이 중요합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
ec2에서도 동일한 현상이 발생했습니다.
프로메테우스, 그라파나를 통해 톰캣, 디비 커넥션, 메모리, cpu, 디비 cpu, 메모리 모두 안정적임을 보았는데, 위와 같은 패턴을 보이네요ㅜㅜ
k6 스크립트는 2분간 vuser 200으로 단순 조회합니다.
k6에서는
WARN[0065] Request Failed error="Get \"https://dev.hankki.shop/api/v2/stores?sortOption=latest&nextId=416\": dial: i/o timeout"
WARN[0065] Request Failed error="Get \"https://dev.hankki.shop/api/v2/stores?sortOption=latest&nextId=198\": dial: i/o timeout"
nginx에서는
2025/05/22 14:37:31 [error] 1935354#1935354: *5480 upstream timed out (110: Connection timed out) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET /api/v2/store
아마 tcp 연결 문제 같은데... tomcat의 기본 max connection인 8192보다 훨씬 적은 부하를 주는데.. 이유를 모르겠습니다ㅠ