JMeter 명령어 실행(비 GUI 모드) 매개변수 상세 설명

1. JMeter 실행 방식

일반적으로 JMeter를 사용할 때는 GUI 인터페이스를 통해 테스트 시나리오를 작성하고 인터페이스 테스트를 진행합니다. 하지만 자동화 방식으로 JMeter 부하 테스트를 실행해야 할 경우 GUI 모드는 적합하지 않습니다. 또한 많은 Linux 서버는 GUI 환경을 지원하지 않기 때문에 비 GUI 모드로 JMeter를 실행하는 방법을 알아야 합니다.

2. 비 GUI 모드 실행의 장점

JMeter의 시각적 인터페이스와 리스너가 동적으로 결과를 표시하는 것은 상당한 시스템 자원을 소모합니다. 대규모 동시성 테스트 시 GUI 방식은 종종 부하 시스템의 자원이 부족해지게 하여 성능 테스트 결과에 영향을 줄 수 있습니다. 이 경우 테스트 계획을 실행하기 위해 추가 서버를 사용해야 하므로(분산 테스트) 부하 시스템이 하나에서 두 개로 증가합니다. 따라서 테스트 계획 실행 시 비 GUI 모드를 사용하는 것이 권장됩니다. 비 GUI 모드는 인터페이스를 표시하지 않지만 주기적으로 문자 형태로 실행 결과를 보여주므로 부하 시스템의 자원 소모가 적습니다. 동일한 조건에서 비 GUI 모드의 JMeter 시스템이 생성하는 부하는 GUI 모드의 JMeter보다 더 큽니다.

3. JMeter 비 GUI 실행 매개변수

매개변수 설명:

  • -n: 명령어 모드로 실행
  • -t: jmx 스크립트 경로 지정 (상대 경로 또는 절대 경사 가능)
  • -h: 도움말 보기
  • -v: 버전 정보 확인
  • -p: jmeter 속성 파일 지정 (예: jmeter.properties 파일에서 설정된 내용)
  • -l: 테스트 결과를 기록할 파일 지정 (일반적으로 jtl 형식, 상대 경로 또는 절대 경로 가능)
  • -s: 서버 모드로 실행 (원격 방식이며 Agent 시작)
  • -H: 프록시 설정 (일반적으로 프록시 IP 입력)
  • -P: 프록시 포트 설정
  • -u: 프록시 계정
  • -a: 프록시 비밀번호
  • -J: jmeter 속성 정의 (jmeter.properties에서 설정하는 것과 동일)
  • -G: jmeter 전역 속성 정의 (Global.properties에서 설정하는 것과 동일, 스레드 간 공유 가능)
  • -D: 시스템 속성 정의 (system.properties에서 설정하는 것과 동일)
  • -S: 시스템 속성 파일 로드 (사용자가 정의한 시스템 속성 파일을 지정하여 로드)
  • -L: jmeter 로그 레벨 정의 (debug, info, error 등)
  • -j: 실행 로그 경로 지정 (로그 경로를 매개변수로 받으며, 존재하지 않으면 자동 생성하지 않음, 로그를 명령어 콘솔에 출력)
  • -r: jmeter.properties에 지정된 원격 부하 시스템 시작
  • -R: 원격 부하 시스템 시작 (부하 시스템 IP를 지정할 수 있으며, jmeter.properties의 remote_hosts 설정을 덮어씀)
  • -d: JMeter 홈 디렉토리 지정
  • -X: 원격 실행 중지
  • -g: 테스트 결과 파일 경로 지정 (테스트 리포트 생성에만 사용, 매개변수는 csv 결과 파일)
  • -e: 테스트 완료 후 테스트 리포트 생성 설정
  • -o: 테스트 리포트 생성 폴더 지정 (폴더는 반드시 존재해야 하고 비어 있어야 함)

4. JMeter 비 GUI 실행 명령어

4.1 기본 비 GUI 명령어 형식:

jmeter -n -t 테스트시나리오.jmx
사용자의MacBook-Pro:~ 사용자$ jmeter -n -t baidu.jmx -l baidulog.jtl
Creating summariser <summary>
Created the tree successfully using baidu.jmx
Starting standalone test @ Fri Feb 19 18:07:30 CST 2021 (1613729250217)
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
summary +      1 in 00:00:01 =    0.9/s Avg:   836 Min:   836 Max:   836 Err:     0 (0.00%) Active: 5 Started: 5 Finished: 0
summary +    376 in 00:00:29 =   13.2/s Avg:   381 Min:   318 Max:   938 Err:     0 (0.00%) Active: 5 Started: 5 Finished: 0
summary =    377 in 00:00:30 =   12.7/s Avg:   382 Min:   318 Max:   938 Err:     0 (0.00%)
summary +    381 in 00:00:30 =   12.7/s Avg:   392 Min:   312 Max:  1824 Err:     0 (0.00%) Active: 5 Started: 5 Finished: 0
summary =    758 in 00:01:00 =   12.7/s Avg:   387 Min:   312 Max:  1824 Err:     0 (0.00%)
summary +    397 in 00:00:30 =   13.2/s Avg:   378 Min:   285 Max:  1135 Err:     0 (0.00%) Active: 5 Started: 5 Finished: 0
summary =   1155 in 00:01:30 =   12.9/s Avg:   384 Min:   285 Max:  1824 Err:     0 (0.00%)
summary +    404 in 00:00:30 =   13.5/s Avg:   370 Min:   261 Max:   875 Err:     0 (0.00%) Active: 5 Started: 5 Finished: 0
summary =   1559 in 00:01:59 =   13.0/s Avg:   380 Min:   261 Max:  1824 Err:     0 (0.00%)

생성된 테스트 리포트는 JMeter의 집계 보고서에서 열 수 있습니다.

4.2 비 GUI 모드로 실행하고 HTML 리포트 생성하는 기본 명령어 형식:

jmeter -n -t 테스트시나리오.jmx -l 결과파일.jtl -e -o 출력폴더
jmeter -n -t baidu.jmx -l baidulog1.jtl -e -o output/
Creating summariser <summary>
Created the tree successfully using baidu.jmx
Starting standalone test @ Fri Feb 19 19:02:37 CST 2021 (1613732557435)
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
summary =     50 in 00:00:02 =   20.2/s Avg:   139 Min:    43 Max:   643 Err:     0 (0.00%)
Tidying up ...    @ Fri Feb 19 19:02:40 CST 2021 (1613732560194)
... end of run

실행이 완료되면 생성된 파일 디렉토리의 index 파일을 브라우저로 열어 결과를 확인할 수 있습니다.

태그: JMeter 성능 테스트 부하 테스트 명령어 실행 자동화 테스트

6월 21일 00:42에 게시됨