설치
OS 에 따라 설치를 해준다.
brew install jmeter
//설치 완료 후 실행 명령어
open /usr/local/bin/jmeter
https://jmeter.apache.org/download_jmeter.cgi
zip 파일을 받아서 압축을 풀면 bin 디렉토리에 jmeter.sh 파일과 jmeter.bat 파일이 있다.
맥에선 .sh / 윈도우에선 .bat 을 실행시키자
구성
1. Thread Group: 가상의 사용자를 관리하는 구성 요소
• 쓰레드 수 (가상의 사용자 수), 테스트 실행 시간, 각 쓰레드 간의 ramp-up time (시작 시간 간격)을 설정할 수 있다.
예를 들어, 1000명의 사용자가 동시에 접속하는 테스트를 할 때, 쓰레드 그룹에서 쓰레드 수를 설정 할 수 있다.
2. Samplers: 실제 요청을 수행하는 요소
• 요청을 추상화하여 HTTP, FTP, SMTP 등 다양한 프로토콜을 선택할 수 있다
예) HTTP 요청을 테스트하려면 HTTP Request Sampler 사용
3. Logic Controllers: 요청들을 특정 방식으로 묶어서 시나리오를 만들 수 있는 요소
• 여러 HTTP 요청 Samplers를 하나의 Logic Controller에 넣어, 사용자의 실제 시나리오와 비슷한 방식으로 테스트를 구성할 수 있다 예) “로그인 -> 상품 조회 -> 구매” 같은 시나리오를 만들 수 있다.
4. Listeners: 테스트 결과를 시각화하여 보여주는 요소
• 테스트 결과를 그래프, 테이블, 로그 등 여러 형식으로 확인할 수 있다.
5. Configuration Elements: 테스트 환경에서 사용할 설정을 정의하는 요소
• 예)쿠키 / 헤더 JWT 토큰 등
테스트 만들기
테스트 우클릭 후 Thread Group 을 생성해 준다.
다시 우 클릭 후 Http Request 를 선택한다.
*다른 테스트시 다른 샘플러를 추가
Http Request 생성
테스트 할 Protocol / IP / Port / Http Method / Path 를 작성하고
아래 요청에 필요한 Parameters / Body Data 를 작성한다.
쓰레드 그룹 생성
Number of Threads : 가상 사용자 수
ramp-up period : 사용자 증가 시간
만약 ramp-up period를 10초로 설정하고, 총 사용자 수를 100명으로 설정했다면,
첫 번째 사용자부터 100번째 사용자까지 10초 동안 차례대로 한 명의 사용자가 추가된다.
Loop Count : 반복 설정
총 사용자들이 몇번의 요청을 보내는지 설정한다.
가령, 100명의 사용자에 10번의 반복을 설정하면 총 1000번의 요청을 보낸다
'개-발 > Infra' 카테고리의 다른 글
[nGrinder] multipart-form 스크립트 작성하기 (1) | 2024.11.19 |
---|---|
[Infra] ngrinder 부하 테스트 도구 (1) | 2024.11.18 |
[오류노트] Swagger 포트 바인딩 (with. Nginx) (0) | 2024.10.31 |
[AWS] swap 메모리 설정하기 (0) | 2024.10.21 |
[CICD] github Actions + S3 + ec2 무중단 배포 for Spring (2) (1) | 2024.10.20 |