백엔드 서버를 구현하고 나서 배포를 하게 된다. 실제 서비스에 배포를 하기 전에 문득 이런 생각이 들 수도 있다.
“혹시 요청이 몰려서 서버가 터지면 어떡하지?”
“내 서버는 어느 정도 사용자 요청을 견딜 수 있는 거지?”
이런 불안감을 없애기 위해서 서비스를 배포하기 전에 백엔드 서버가 어느 정도의 요청을 견딜 수 있는 지 부하 테스트를 해봐야 한다. 부하 테스트를 본격적으로 시작하기 전에 자주 사용하는 용어부터 정리하고 넘어가자.
부하 테스트에서 서비스가 1초당 처리할 수 있는 작업량을 보고 Throughput이라고 부른다. 단위는 TPS(Transaction Per Seconds, 1초당 처리한 트랜잭션의 수)를 많이 활용한다. 만약 내가 만든 서비스가 1초에 최대 100개의 API 요청을 처리할 수 있다면, 이 서비스의 Throughput은 100 TPS라고 얘기한다.
이 정도의 용어만 알아둬도 충분하다. 이제 우리가 구축한 서비스의 Throughput을 측정해보자. 우리는 아래와 같이 인프라를 구축했다.
EC2 - t3a.small
Spring Boot
Redis
RDS - t3.micro
위와 같은 사양으로 인프라를 구성했을 때 어느 정도의 요청을 견딜 수 있는 지 테스트 해볼 것이다. 그리고 Redis가 포함되어 있고 없고의 성능 차이도 비교해볼 것이다.