1) JMeter 설치하기: https://pepega.tistory.com/86
2) REST API 부하주기: https://pepega.tistory.com/87
이전 글에서는 JMeter를 설치하고 실행까지 해봤습니다.
이번 글에서는 JMeter를 사용해서 api endpoint를 호출하고 부하를 주겠습니다!
API 정보
사용할 REST API 는 아래와 같습니다.
API 정보
https://goose-auth.synology.me/swagger-ui/index.html#/Health-check/healthCheck
관련 소스코드
https://github.com/GHGHGHKO/goose-auth-api-server
부하주기 전 JMeter 세팅하기
Thread Group 세팅하기
Test Plan을 오른쪽 마우스 클릭하여 Thread Group을 추가합니다.
부하를 줄 Threads를 세팅해줍니다.
설명 원본 : https://jmeter.apache.org/usermanual/test_plan.html#thread_group
Number of Threads : REST API 를 호출할 Threads 개수
Ramp-up period (seconds) : 세팅되어 있는 Threads의 max 값 까지 올라가는 시간
- 예를 들어, 10개의 Threads가 100초의 Ramp-up period면 10개의 Threads를 실행하는데에 100초가 걸립니다.
- 각 Thread는 이전 Thread가 시작된 후 10(100/10)초 후에 시작됩니다.
Loop Count : 반복 횟수
HTTP Request 세팅하기
Thread Group을 우클릭하여 HTTP Request를 추가합니다.
HTTP Header도 세팅해주어야 하기 때문에
HTTP Header도 추가해줍니다.
HTTP Request에 들어가서 부하를 줄 REST API를 세팅합니다.
Header도 추가해주어야 하니 HTTP Header Manager에 접속하여
Header를 입력해줍니다.
이제 어느정도 세팅이 되었습니다.
부하를 준 뒤 결과를 확인하기 위한
Listener를 추가해줍니다.
Listener 세팅하기
우측에 깃털 모양을 클릭해서
그래프 plugins을 설치합니다.
Available Plugins에서 3 Basic Graphs를 검색하여
Plugins를 추가해줍니다.
Thread Group을 우클릭해서
설치된 Plugins 3개를 추가해줍니다.
API의 호출 결과를 확인하기 위해
View Results Tree를 추가해줍니다.
부하주기
세팅이 완료되면
상단에 녹색 플레이 버튼을 누릅니다.
정상적으로 API가 호출된 것을 확인합니다.
plugins에서 추가한 그래프 정보를 확인합니다.
50개의 쓰레드가 사용된 걸 확인할 수 있습니다!
최대 응답 시간이 188ms가 나왔군요!
TPS는 최대 327이 나왔습니다.
간단한 플러그인과 간단한 API를 활용하여
최소한의 부하 테스트를 해보았습니다.
JMeter를 사용하여 더 부하 테스트를 할 수 있는 더 좋은 방법이 있다면
댓글로 남겨주시면 감사하겠습니다. :)
참고자료
https://jmeter.apache.org/usermanual/test_plan.html#thread_group
https://goose-auth.synology.me/swagger-ui/index.html#/Health-check/healthCheck
'테스트' 카테고리의 다른 글
Locust 부하 테스트, REST API에 부하 주기 (2) (0) | 2023.11.18 |
---|---|
Locust 부하 테스트, 개요 및 설치 (1) (0) | 2023.11.16 |
Apache JMeter 사용해보기, 설치 (1) (0) | 2023.11.08 |