선행 지식
성능 니스트시 꼭 알고 가야하는 개념이 있는데, 바로 응답시간과 TPS입니다.
이 둘은 성능 니스트의 중요한 지표입니다.
응답시간(Response Time)
- 클라이언트가 서버에 요청을 하고 그 요청에 대한 응답을 받을 때까지 걸린 시간을 의미
- 응답 시간은 아래의 두가지로 분류 가능
- 처리 시간(Processing Time): 실제 서버가 요청을 처리하는데 걸린 시간
- 대기 시간(Latency Time): 클라이언트와 서버간에 데이터를 주고 받는데 걸리는 시간
응답시간(Respose Time) = [동시 사용자 수 / 초당 요청 수(TPS)] - 인지시간(Think Time)
RPS (Requests Per Second) - 초당 처리할 수 있는 HTTP 요청의 수
- 1분 동안 6,000개의 요청을 처리했다면, RPS는 6,000 / 60초 = 100 RPS
TPS (Transactions Per Second) - 초당 처리할 수 있는 트랜잭션의 수
- 서버가 초당 처리할 수 있는 요청의 개수
- TPS가 높을 수록 초당 처리할 수 있는 요청의 수가 많음
초당 요청 수(TPS) = 동시 사용자 수 / 응답시간(Response Time) + 인지시간(Think Time)
테스트 흐름
가장 기본적인 방법입니다.
- Treads Group 생성 :
- HTTP Request Defaults 생성 :
- HTTP Request 생성 :
- View Results Tree 생성 :
- Summery Report 생성 :
- HTTP Header Manager 생성 :
-
JSON 데이터를 전송할 때는 Content-Type: application/json
을 설정합니다.
-
API 요청 시 필요한 인증 정보를 헤더에 추가할 수 있습니다. 예를 들어, Authorization
헤더를 사용하여 Bearer 토큰을 전송할 수 있습니다.
- 실행
jmeter 설치,실행 및 기본 생성
Jmeter 다운 링크
- 설치
- Binaries 에 해당되는 os 클릭
- .tgz 파일은 주로 Unix/Linux 사용자들에게 익숙하며, tar와 gzip으로 압축을 풀 수 있습니다.
- .zip 파일은 Windows를 포함한 모든 주요 운영 체제에서 널리 지원되며, 일반 사용자에게 친숙합니다.
- 실행
- 클릭으로 실행
- 압축 해제를 한 후 폴더를 열면 bin 이라는 폴더로 이동합니다.
- jmeter wionds 배치파일을 더블 클릭하면 실행 됩니다.
- 터미널로 실행
bin 폴더 안에 jmeter 실행 파일이 있으므로 해당 경로로 들어갑니다.
jmeter 를 입력하면 실행 됩니다.
테스트 준비 및 실행 방법
- Treads Group 생성
- Test Plan 우클릭 후 사진 참고
- HTTP Request Defaults 생성
- Tread Group 우클릭 후 사진참고
- HTTP Request 생성
- Thread Group 우클릭 후 사진참고
- View Results Tree 생성
- Thread Group 우클릭 후 사진참고
- Summary Report 생성
- Thread Group 우클릭 후 사진참고
- HTTP Header Manager
- Thread Group 우클릭 후 사진참고
- 각각의 파일마다 Name 은 왼쪽 디렉토리 구조에서 사용 할 이름 :
- Ex) 회원 입력후 +버튼이나 디렉토리에 있는 다른 파일 클릭 시 변경 됩니다.
- Thread Properties
- Number of Threads (users) - 동시 접속자 수 설정
- Ramp-Up Period (in seconds) - 몇초 마다 실행할지 설정
- Loop Count - 반복 실행 횟수 설정
- Ex1) 3, 1, 1 순서로 설정할 경우 → 사용자 3명이 1초마다 1번 실행하는 의미입니다.
- Ex2) 100, 5, 10 순서로 설정할 경우 → 사용자 100명이 5초 간격으로 실행하는 것을 10번 반복 하는 의미입니다.
- HTTP Request Defaults
Defaults
값으로 설정 → 여러개의 HTTP Request 설정시 입력하지 않으면 Defaults 값으로 설정된 데이터가 설정됩니다.
- Protocol [
http
]: Defaults 값이 http 로 설정 → https 를 사용할경우 입력
- Server Name or IP: 도메인주소 또는 IP 주소 입력 →
mb.test-web.co.kr
or 51.208.41.72
- https 를 사용할 경우 port Number : Defaults 값이 443, 명시적으로 입력하고 싶을경우 443 입력
- HTTPS 요청에서 포트 번호를 지정하지 않으면 기본적으로 443 포트를 사용
- Path: controller에서 RequestMapping 과 동일, 모든 API 공통 경로를 입력
- HTTP Request
- HTTP Request Defaults에서 설정하지 않을 시 모든 데이터를 HTTP Request에서 설정
- 요청방식 선택
데이터 입력란 Parameters,Body Data 중 하나만 입력 가능!
- 데이터를 RequestParam으로 받을 경우 Parameters 에서 화면 중앙 아래에 Add 클릭
- 경로에 입력가능 PathVariable 방식도 → /members/signup/{1} 가능
두가지 데이터를 모두 입력해야 할 경우
경로 입력 + Body Data에 입력
- 데이터를 RequestBody로 받을 경우 Body Data 클릭 후 입력
- HTTP Header Manager
- 화면 중앙 아래에 Add 버튼을 눌러 content-Type , applicaion/json 데이터 입력하기
- 저장 후 실행 하면 테스트가 진행 됩니다.
오늘은 설치 및 기본 설정 방법에 대해 적어 보았다.. 다음 글에서는 라이브러리를 어떻게 다운 받는지 적어 보아야 겠다~!