서버를 구현하고 배포, 실제 서비스에 배포를 하기전 서버가 어느정도의 요청을 견딜 수 있는 지 부하 test
단위는 TPS(Transaction per Second, 1초당 처리한 트랜잭션의 수)
ex) 1초에 최대 100개 API 요청을 처리할 수 있다면, Throughput은 100TPS
//내가 구축한 infra

성능 비교를 위해 K6 부하테스트 툴을 사용할 예정
K6외에 ngrinder, jmeter, ab, locust등 다양한 툴이 있다.

K6는 사용자인 척 하고 보내는 툴
원래라면 서비스에 요청을 보내야 하는데 K6는 여러명 사용자를 대신해서 요청하는 툴
import http from 'k6/http';
import { sleep } from 'k6';
export default function () {
http.get('http://{EC2 IP 주소}:8080/boards');
}
사전에 100만개 data를 넣어서 비효율 적으로 만들어 놓음


1232 TPS
nohup java -jar -Dspring.profiles.active=prod {빌드된 jar 파일명} &
nohup을 사용하면 springboot가 로딩 되는 부분을 안보여 줄 수 있다.
성능 비교를 좀더 확실히 하기 위해 설정
# K6의 스크립트 파일이 위치한 경로에서 아래 명령어 실행시키기
$ k6 run --vus 30 --duration 10s script.js
--vus 30
--duration 10s