jmeter 사용하여 EC2 성능 테스트

minyeob·2023년 8월 31일
0

aws

목록 보기
2/18

현재 프로젝트에서 외부 API 를 과도하게 호출해서 응답속도가 느려지는 것 같아서
JMeter를 이용하여 EC2 서버의 API 성능 테스트를 진행해보려고 한다.

Jmeter를 이용해서 테스트를 하는 방법은 다음과 같다.

  1. Test Plan 생성
    ◦ JMeter를 실행한 후, 좌측 메뉴에서 "Test Plan"을 우클릭 > Add > Threads (Users) > Thread Group으로 이동해 새로운 Thread Group을 추가합니다.
    ◦ Thread Properties에서 Number of Threads (users), Ramp-Up Period (seconds), Loop Count 등을 설정합니다. 여기서 Number of Threads는 동시에 요청하는 사용자 수, Ramp-Up Period는 모든 사용자가 시작하는 데 필요한 시간, Loop Count는 각 사용자가 요청하는 횟수를 의미합니다.

  1. HTTP Request 생성
    ◦ 방금 만든 Thread Group 우클릭 > Add > Sampler > HTTP Request로 이동해 새로운 HTTP Request를 추가합니다.
    ◦ Server Name or IP에 EC2 서버의 IP 주소나 도메인 이름을 입력하고, Path에 API endpoint 경로를 입력합니다. Method는 해당 API 요청이 GET인지 POST인지 등을 선택할 수 있습니다.

  1. Header Manager 추가
    ◦ 필요한 경우 HTTP Header 정보도 함께 보낼 수 있습니다.
    ◦ HTTP Request 우클릭 > Add > Config Element > HTTP Header Manager로 이동해 새로운 Header Manager를 추가하고, 여기서 필요한 헤더 값을 설정할 수 있습니다.Response Assertions 설정
    ◦ 정상적인 응답이 올 것이라는 것을 확인하기 위해서 Assertion을 설정할 수 있습니다.
    ◦ HTTP Request 우클릭 > Add > Assertions> Response Assertion으로 가서 assertion 조건들(예: response code가 200) 등록

  1. Listeners 추가
    ◦ Listener들은 테스트 결과를 다양한 형태(표 혹은 그래프 등)로 보여줍니다.
    ◦ Thread Group 또는 Sampler(HTTP request) 우클릭> Add> Listener 선택하여 원하는 리스너(예: View Results Tree, Summary Report, Graph Results 등) 추가

View Result Tree
실행 성공 여부와 response data를 확인할 수 있습니다.

Summary Report
#Samples : 서버에 요청한 횟수
Average : 평균응답시간(ms)
Min : 최소응답시간(ms)
Max : 최대응답시간(ms)
Std. Dev. : 표준편차. 요청에 대한 응답시간의 일정하고 안정적인가를 확인, 값이 작을수록 안정적이다.
Error : Error율(%)
Throughput : 처리량 (초당 처리건수)
KB/sec : 처리량(초당 처리 KB)

Graph Results

좀 더 연구해서 응답속도 및 서버 부하 테스트를 잘 나타낼 수 있는 방법으로 다시 포스팅 해야겠다!

profile
백엔드 개발자를 꿈꾸며 공부한 내용을 기록하고 있습니다.

0개의 댓글