게시글
질문&답변
2024.05.26
aws ec2 서버에 /hello컨트롤러를 만들어서 강의와 같은 yml을 실행했더니 아래 그림과 같이 뜨는데 서버 성능을 올려줘야 할까요..?
qheogus55 님 안녕하세요. 열심히 성능 테스트를 해보셨군요. :) 질문 주신 내용에 대해 답변드리겠습니다. 1.이런식으로 나오는데 서버 성능을 올려줘야할까요..? -> 테스트 하시려는 트래픽을 받을 수 있도록 만들기위해 시도할 수 있는 여러가지 방법이 있지만, 가장 해보기 쉬운건 말씀하신대로 ec2 인스턴스의 사이즈를 더 높은걸로 바꾸는겁니다. 아마 현재 상태에선 제가 추측하건데 그게 해결 방법이 될 것 같긴 합니다. 지금 하고 있는 요청은 phases: - duration: 10 arrivalRate: 5 - duration: 10 arrivalRate: 20 - duration: 30 arrivalRate: 100 - duration: 10 arrivalRate: 20 이 3번째 phase에서 초당 100씩 요청이 날아가는 부분에서 문제가 생기고 있을 것 같습니다. 제가 알고있는 바에 따르면, 톰캣은 초기에 'minSpareThreads(기본값 10)' 수 만큼의 스레드를 생성하고, 요청이 늘어나면 'maxThreads(기본값 200)'까지 스레드 수를 늘려나갈겁니다. 근데 20개씩 요청이 오던거에서 한번에 100개로 늘었으니 아마 80개의 스레드를 생성하려고 하는데 작은 사이즈의 인스턴스에서 생성 과정이 너무 느리게 진행되는거 아닌가 생각됩니다. 그러면서 요청은 계속 밀려들면서 타임아웃이 나지 않았을까 추측해봅니다. 제 추측이 틀렸을 수도 있으니 해보시고 질문주세요. :) 2. 이해한바로는 Scenarios completed : 요청에 대한 응답이 정상적인 개수인데 만약 저렇게 대규모 요청이 왔을때 이런 서버를 유지한다면 유실된 응답수만큼 요청한 사용자가 응답을 못받는거 맞나요?! -> 넵 맞습니다. 타임아웃으로 떨어진 수 만큼 사용자는 응답을 못받고 있는게 맞습니다. 이런 문제를 막기 위해 성능 개선을 하기도 하고, 요청을 보낸 쪽에서는 Retry 같은걸 하기도 합니다. 물론 저 요청을 보낸게 '사용자'라면 웹 브라우저로 다시 요청하지 못할 수도 있습니다. 혹은 오히려 Retry 요청이 성능상 문제를 일으키기도 하구요. 상황에 따라 해법은 달라질 것 같습니다. 성능 개선에 대한 강의는 지금 제작중이고 다음달 중으로 오픈 가능할 것 같으니 해당 강의를 기대해주세요! 여기까지 질문에 대한 답변이 됐길 바랍니다. 또 궁금한 내용 있으면 질문 남겨주세요. 감사합니다.
- 1
- 1
- 28
질문&답변
2024.04.18
수정이 안돼요
에어님 안녕하세요~ 어쩌면 캐시가 남아있어서 그럴 수도 있을 것 같은데, 개발자 도구를 켠 상태에서 새로고침을 오른쪽 클릭해서 '캐시 비우기 및 강력 새로고침'을 눌러서 다시 확인해보실 수 있을까요~? (사진)
- 1
- 1
- 103
질문&답변
2024.04.13
강의 자료 문의
https://drive.google.com/drive/folders/1SJM4YBSkMbN9xs7BGv1b19MmDvwmEJ6F?usp=sharing 여기 올려두었습니다~
- 1
- 2
- 98
질문&답변
2024.04.09
강의 자료 문의
starryeye 님 안녕하세요~ 강의에서 사용한 발표 자료는 제가 아직 올려두지 않았습니다. 제가 현재 일정이 있어서 계속 밖에 나와있는데 이번 주말 중으로 업로드 해두겠습니다!
- 1
- 2
- 98
질문&답변
2024.04.03
선생님 강의 관련 질문 있습니다.
공부맛있다님 안녕하세요. 클래스 101에 있는 강의를 그대로 진행하진 않겠지만, 거기서 얻을 수 있는 지식들과 비슷한 지식을 수강생들에게 전할 수 있는 강의는 만들어질 것 같습니다. 지금 수강하신 배포 강의도 그렇고, 성능 테스트 강의 역시 일부 비슷한 내용을 다루고 있어서 간접적으로 비슷한 내용을 학습하실 수 있을겁니다.
- 1
- 1
- 151
질문&답변
2024.04.01
CORS 이슈에 대해 현업에서의 API URL 구성이 궁금합니다.
Sangki Jung님 안녕하세요~ 먼저 강의 수강해주시고 타 사이트 및 유튜브 강의도 봐주셔서 감사합니다. (_ _) 질문 주신 내용 하나씩 답변 드려보면, 첫번째 질문에 대해선 도메인과 포트가 다르기 때문에 해당 하위 도메인들에 대해 CORS 이슈가 발생할 겁니다. 따라서 크로스 오리진 설정을 해주셔야 할 것 같습니다. 두번째 질문 주신 내용에 대해선 프론트엔드 서버와 API 서버를 어떻게 구성하는지에 따라 천차만별이라 어떻다고 이야기 드리긴 어렵습니다만, 제가 경험했을 때는 클라이언트 입장에선 동일한 도메인으로 묶이도록 구성하는게 더 많은 것 같습니다. 즉, 도메인은 동일하되 URL Path에 Prefix를 붙이는 식이되는거죠. 아래는 예시입니다. 인프런 : 프론트는 www.inflearn.com / API 요청시 www.inflearn.com/api 유튜브 : 프론트는 www.youtube.com / API 요청시 www.youtube.com/youtubei/v1 그럼 내부적으로 이게 서로 같은 애플리케이션으로 구성된건가 하면, 아마 아닐겁니다. 일반적으로 앞쪽에서 Prefix에 따라 프론트엔드 애플리케이션으로 요청이 가도록 하거나 API로 요청이 가도록 구성되어 있을겁니다. 그리고 프론트엔드에서 오는 응답처럼 보이는 것들도 CSR(Client Side Rendering) 말고 SSR(Server Side Rendering)로 처리되고 있는 것 같아 보이는 페이지도 많네요. (사진) 궁금하신 내용에 대한 답변이 됐을까요? 혹시 또 궁금한 내용 있으면 질문 남겨주세요. 감사합니다.
- 2
- 1
- 125
질문&답변
2024.03.23
안녕하세요 foo님 백엔드 개발자 프론트 앤드 강의에서 질문이 있습니다.
강한 타조님 안녕하세요~ 올려주신 이미지로 봤을 때 :hov 에서 hover 체크하셨는데 안나오는거죠? ㅠ 그렇게 했는데도 안나오는거면 크롬 버그가 아닐까 생각되네요... 찾아봤는데 저도 잘 모르겠습니다. ㅎ... 그래도 속성 자체는 잘 적용되고 있는거죠~?
- 0
- 1
- 69
질문&답변
2024.03.19
postman 에서 api 테스트했을 때 응답 레이턴시 차이가 있는 이유
hihello님 안녕하세요~ 인프런 AI 인턴이 이미 잘 답변해준 것 같네요. ㅎㅎㅎ 요약하자면, 첫번째 요청이 느린건 웜업 때문이고 정확한 성능 테스트는 두번째 응답부터 측정하는게 정확합니다. 또한 서비스를 실제로 운영할 때도 웜업으로 인해 성능에 영향이 발생할 수 있는데, 미리 웜업을 시킨 후 트래픽을 받도록 하는게 좋습니다. 강제로 웜업 시키는 방법에 대해선 여러가지 방법이 있으니 찾아보시면 언어별로, 사용중인 라이브러리별로 다양한 정보가 있을겁니다. 또 궁금한 내용 있으면 질문 남겨주세요. 감사합니다. (_ _)
- 1
- 2
- 245
질문&답변
2024.03.03
scale out 환경에서 api 호출로 circuit 상태 변경하기
신동훈님 안녕하세요~ 질문 남겨주셔서 감사합니다. 말씀하신 상황에서는 API 호출로 모든 서버의 상태를 바꾸기 적절하지 않습니다. 그 이유는 이미 추측하셨을 것 같은데, 로드밸런싱 되는 API가 모든 서버에 도달하는걸 보장하기 어렵기 때문입니다. 따라서 마지막에 이야기하신 것처럼 redis나 kafka 등을 통해 pub/sub 되도록 만드는게 더 적절해보입니다! 또 궁금한 내용 있으면 질문 남겨주세요. 감사합니다. (_ _)
- 1
- 1
- 83
질문&답변
2024.03.01
예외 선언 위치
fbfbf1님 안녕하세요. ' 백엔드 A -> 백엔드 B로 호출하는 상황이라고 가정'했다는 것 자체가 보호하고 싶은 시스템이 '백엔드 A'인것 아닌가요? 해당 상황을 가정했는데, 마치 '백엔드 B'가 보호 대상인 것처럼 지칭하셔서 여쭤봅니다. 다만, 질문 주신 상황 자체만 놓고보면 백엔드 B에서 발생하는 CustomException을 카운팅하지 않으려면 백엔드 B에 ignoreExceptions 설정을 추가 하는게 맞습니다!
- 0
- 1
- 99