개발 공부/WEB이야기

간단하게 API 스트레스 테스트 하는 법

susong 2023. 3. 19. 19:32
728x90

사용하고 있는 아파치 서버 배포 직전, 과연 이 서버가 얼마나 버텨줄지 궁금해졌다.

현재 배포중인 서비스는 얼만큼의 스트레스를 버텨줄 것인가?

 

1.  apaceh2-utils를 설치한다.

sudo apt install apache2-utils

2. 원하는 스트레스 테스트 양을 설정후 던진다

ab -n 1000 -c 100 http://evaluation.42seoul.link/
// 100개의 클라이언트에서 1000개의 요청을 던져라! 라는 뜻

3. 결과를 확인한다.(프론트 요청)

Vercel로 작동하는 프론트 배포는 매우 성공적이다.

[알 수 있는 정보]

1. 99% 요청이 451ms안에 처리되었으니 엣지케이스에서도 성능이 준수하게 나옴을 알 수 있다(가장 긴 요청시간은 749ms으로 특수케이스임을 감안했을 때 인내할 수 있다고 판단된다)

2. 평균 요청 처리 시간은 260.476ms이다. 

3. 초당 평균 383개의 요청을 처리할 수 있다.

4. 요청 간 실패는 없었다.

 

내가 아키텍처를 구성하는 것이 아니기에 크게 걱정되는 부분은 없었다. Vercel의 성능은 돈을 주면 더 올라가기에, 이 부분은 돈으로 해결할 수 있는 문제이니 크게 고려할 사항이 아니라고 판단하였다.

 

4. 특정 API에 요청 던져보기

ab -n 1000 -c 100 https://evaluation.42seoul.link/API_LINKS
// 특정 API에 100개의 클라이언트에서 1000개의 요청을 던져라! 라는 뜻

결과 : 비공개

 

이렇게 간단하게 스트레스 테스트를 하는 방법에 대해서 알아보았다 :) 

 

728x90