k6로 부하를 줘보자

이름이름·2023년 8월 15일
0
post-thumbnail

개요

멋쟁이 사자처럼 11기 홈페이지 프로젝트 Lionz에 부하테스트를 해보려고 합니다.

k6 설치

brew install k6 //Mac os기준

스크립트 파일 생성 (js or ts로)

보통은 scritp.ts로 하는데 저는 scenario.ts로 제목을 지었습니다.


일단은 lionz서버에 회원가입 api로
email은 aaa / 비밀번호는 bbb로 설정해서 쏴보려고 합니다.

실행

k6 run scenario.ts

명령어로 작성한 시나리오대로 k6를 실행시켜 요청을 보내보겠습니다!
일단 아무런 옵션없이 위와 같이 실행시키면 1개의 요청만 갑니다

확인


DB를 확인해보니 email : aaa로 정상적으로 데이터가 들어온 것을 볼 수 있습니다!

요청을 여러 개 보내서 부하를 줘보자

k6를 run시킬 때 옵션을 줄 수가 있습니다.

  • vus : 가상의 이용자 수
  • durations : 부하 시간
k6 run --vus 100 --duration 30s scenario.ts

따라서 위와 같이 명령하면 100명의 사용자가 30초 동안 요청을 보낸다고 볼 수 있습니다.
100명의 사람들이 30초 동안 어떤 버튼을 클릭하는 느낌입니다.


한 100명이 30초동안 api요청을 보내는 정도는 에러가 거의 없었습니다.
그래서 300명 정도로 규모를 늘려봤는데 위와 같이 에러가 납니다..

다음으로

아마 서버 한 대가 감당할 수 없는 수준의 요청을 받아서 그런 것 같습니다.
다음에는 서버 여러 대로 부하를 분산시키는 로드밸런스를 적용해서 다시 부하를 줘보겠습니다!

profile
공부 정리

0개의 댓글