반응형
JMeter 설치
mac 기준으로 jmeter를 설치하는 방법입니다.
mac에서는 brew를 통해 간단히 설치하여 사용합니다.
brew install jmeter
open /opt/homebrew/bin/jmeter
JMeter 테스트 용어
- Thread Group: 테스트에 사용될 스레드 개수 (쓰레드 1개당 사용자 1명)
- Sampler: 사용자의 액션 (ex: 로그인, 게시물 작성)
- Listener: 응답을 받아 리포팅, 검증, 그래프 등 다양한 처리
- Configuration: Sampler or Listener가 사용할 설정 값 (ex: 쿠키, JDBC 커넥션)
- Assertion: 응답 확인 방법 (응답 코드, 본문 내용)
JMeter 설정 방법
1. Thread Group (사용자, 스레드 설정)
Thread Properties
- Number of Threads: 스레드 개수
- Ramp-up period: 스레드 개수를 만드는데 소요되는 시간
- Loop Count: 설정된 값에 따라 Number of Threads * Ramp-up period 만큼 요청 전송
현재 설정: 10명의 유저가 1초 만에 2번 반복해서 요청 보내기
2. Sampler (사용자 액션)
테스트할 API를 작성합니다.
API를 테스트하기 위해서는 실행 중인 서버의 정보를 설정해야 합니다.
주로 Protocol, Server Name or IP, Port Number를 작성해 줍니다.
- Server Name or IP: localhost or server public ip
- Port Number: 8080, 3000
- HTTP Request: Get: /api
3. HTTP Header 설정
JWT 인증 방식을 사용하는 경우 Header에 액세스 토큰이 있어야 합니다.
JMeter에서는 HTTP Header Manager를 사용해서 Header에 key-value 값을 전달합니다.
4. Listener (응답 값 리포팅)
1번 Thread Group에서 설정한 속성 바탕으로 테스트된 결과를 분석합니다.
주로 View Results Tree, Summary Report, View Results in Table를 사용합니다.
View Results in Table
- sample : 일반 ID 번호
- Start Time: 보내기 시작한 시간
- Thread Name: 스레드 그룹 이름
- Label: 보낸 Request 이름 (HTTP Request)
- Sample Time(ms): 요청 시작 시점부터 응답 종료 시점까지의 시간을 의미
- Status: 응답 상태
- Bytes: 응답 데이터 바이트
- Sent Byte: 요청 데이터 바이트
- Latency: 지연 속도를 의미, 요청 시작 시점부터 응답 시작 시점까지의 시간을 의미
- Connect Time(ms): TCP Handshake를 이용해 연결하는 시간
Summart Report
- Label: 사용한 request의 이름
- Samples: request 개수
- Average: Sample Time의 평균
- Min, Max: Sample Time의 최소 / 최대
- Std.Dev: Sample Time의 표준 편차
- Error: 에러율
- Throughput: 시간당 처리량
- Received KB/sec: 시간당 받은 데이터
- Sent KB/sec: 시간당 보낸 데이터
- Avg.Bytes: 평균 바이트
참고자료
반응형