Skip to content

Load Test (서버 부하 테스트)

방규빈 edited this page Nov 29, 2021 · 5 revisions

처음에 로드 테스트 툴은 Locust를 사용했다.

pm2를 nest 도커 컨테이너 안에서 실행해서 모니터링을 할 계획이었다.

Locust file에 코드를 작성후,

앱의 url인 http://pingpingsfriends.ga 를 Host로 잡고 client path로 path를 설정하니 pm2로 제대로 모니터링 되지 않았다. (api 요청 로그가 하나도 뜨지 않았다.)

내 생각은 Locust를 통해 앱 url로 요청을 보내면 도메인에서 api서버로 요청을 보내기 때문에 모니터링이 될 거라고 생각했는데, 앱 url을 host로 잡으면 서버 api로 요청을 따로 보내지 않는 것 같다. (실제로 가상의 유저를 1000명으로 요청을 보내고 성공을 했지만, cpu 사용량이 0% 였다.)

생각해보니 당연한 것 같다... 실제로 프론트는 페이지를 보여주기 전에 api 서버에 요청을 보내고 받은 응답으로 화면을 구성해서 사용자에게 보여주는 것이니 ... 즉, Http 요청이란 api 서버로의 요청을 말하는 것 같다.. 참고

여러 예시들을 봤지만, 페이지 url로 보내는 앱은 ssr 방식의 앱이었고, 결국 요청을 backend 서버로 직접 보낸 것이었다.

혹시나 locust 툴의 기능 지원이 부족한 것인가 했지만, 다른 테스트 툴도 방식은 비슷했다. (다른 테스트 툴 사용 방식과 예시를 찾아봤다.)

결국 api 서버의 url에 요청을 보내는 방식으로 진행해야할 것 같았다.

괜히 테스크를 여러 개로 나누고, 시나리오를 짜는 것이 아니었다.

server의 url로 직접 요청을 보내보니 로그도 제대로 찍히고 모니터링도 되었다.

시나리오만 제대로 구성해서 테스트해보면 될 것 같다.

Clone this wiki locally