- Java 설치
- Requires Java 8+
- Jmeter 설치
wget http://www.gtlib.gatech.edu/pub/apache/jmeter/binaries/apache-jmeter-5.3.tgz
tar xf apache-jmeter-5.3.tgz
rm apache-jmeter-5.3.tgz
- 실행
- GUI 모드 실행 : ./apache-jmeter-5.3/bin/jmeter.sh
- Non-GUI 모드 실행 : ./apache-jmeter-5.3/bin/jmeter
- Test Plan 설정
- Counter 추가 : Test Plan 우클릭 → Add → Config Element-> Counter 추가
- Http Reqeust에서 사용 할 accountDemo에서 사용 하기 위해 추가
- ex) 1~60000 까지 1씩 증가
- 각 Worker별 Counter Value값이 겹치지 않게 설정 하려면
apache-jmeter-5.3/bin/user.properties
설정을 바꾸면 된다.

##마지막 줄에 추가
offset=0
offset1=10000000
offset2=200000000
${__P(offset, )}
을 사용하면 설정 값 부터 숫자가 시작되며, increment값 만큼 숫자가 증가하면서 보내게 된다.- Name : 테스트 이름 (중요하지 않음)
- Comment : 테스트 설명 (중요하지 않음)
- Action to be taken after a Sampler error : 샐플러가 에러시에 취할 행동 ( Continue로 설정하면 에러와 무관하게 루프를 돔)
- Number of Thread : 쓰레드를 동시에 몇개 생성할지 ( 동시에 실행 시킬 트랜잭션 수)
- Ramp-Up Period : 쓰레드를 Ramp-Up Period시간동안 실행해라는 의미이다. 단 균등하게 시간을 나눠서 실행하려고 노력한다. 예를 들어 Nomber of Threads가 10인데 Ramp-Up Period가 60이면 10개의 쓰레드가 6초간격으로 동작하려고 한다. 근데 그렇게 안될 수도 있다.
- Loop Count : 스레드의 반복 횟수를 의미한다. 10이면 10번 반복한다. Forever에 체크하면 무한 반복한다.
- Delay Thread creation until needed : 스레드의 생성을 필요할 때까지 기다린다. 체크를 해제하면 안기다리고 날리는데 반응성은 더 좋아지긴 하는데 안정성을 위해서 체크해 두자.
- Scheduler : 위의 모든 작업을 스케줄화 해서 할 수 있다.
- Duration : Scheduler를 체크했을때만 사용가능. Thread Properties의 총작업을 하는 시간을 의미한다. 예를들어 100초를 정하면 위의 작업을 딱 100초동안 실행한다. 100초안에 걸리는 작업이면 조기에 정지되지만 위의 작업이 100초를 넘어간다면 더이상 실행하지 않고 멈춘다.
- Startup delay : 위의 작업을 실행하기 위한 유예기간을 의미한다. 쓰레드 그룹이 한개일때는 별 필요없지만 쓰레드 그룹을 여러개 돌릴떄는 서로 차등을 줄 수 있다.
- 참고 : 기본적으로 jmeter는 각 요청 사이에 딜레이 없이 요청을 보내기 때문에, 짧은 시간 내에 너무 많은 요청을 함으로 써 서버 과부하 문제가 발생할 수 있습니다. 이런 경우 타이머를 사용하여 스레드에서 생성하는 각 요청을 지연 시킬 수 있습니다.
- Constant Timer: 고정 시간의 딜레이를 가짐
- Gaussian Random Timer: 임의의 시간 범위의 딜레이를 가짐

- Name , Comment 는 중요 하지 않음
- 이미지와 같이 테스트 환경에 맞추어 작성 ( protocol, ip, port, body data 등)

- 위에서 작성한 TestPlan을 JMeter Non-GUI mode로 실행하는 방법
jmeter -n -t {TestFileName}.jmx -l {LogFileName}.jtl
- 테스트 종료 후 생성 된 로그파일(LogFileName.jtl)을 Jmeter GUI에서 로딩하여 결과 확인 가능
Share article