멋쟁이 사자처럼 11기 홈페이지 프로젝트 Lionz에 부하테스트를 해보려고 합니다.
brew install k6 //Mac os기준
보통은 scritp.ts로 하는데 저는 scenario.ts로 제목을 지었습니다.
일단은 lionz서버에 회원가입 api로
email은 aaa / 비밀번호는 bbb로 설정해서 쏴보려고 합니다.
k6 run scenario.ts
명령어로 작성한 시나리오대로 k6를 실행시켜 요청을 보내보겠습니다!
일단 아무런 옵션없이 위와 같이 실행시키면 1개의 요청만 갑니다
DB를 확인해보니 email : aaa로 정상적으로 데이터가 들어온 것을 볼 수 있습니다!
k6를 run시킬 때 옵션을 줄 수가 있습니다.
k6 run --vus 100 --duration 30s scenario.ts
따라서 위와 같이 명령하면 100명의 사용자가 30초 동안 요청을 보낸다고 볼 수 있습니다.
100명의 사람들이 30초 동안 어떤 버튼을 클릭하는 느낌입니다.
한 100명이 30초동안 api요청을 보내는 정도는 에러가 거의 없었습니다.
그래서 300명 정도로 규모를 늘려봤는데 위와 같이 에러가 납니다..
아마 서버 한 대가 감당할 수 없는 수준의 요청을 받아서 그런 것 같습니다.
다음에는 서버 여러 대로 부하를 분산시키는 로드밸런스
를 적용해서 다시 부하를 줘보겠습니다!