본문 바로가기
Engineering/Jmeter, Postman

jmeter : Windows CMD 또는 Linux Command 로 실행하기

by 알탱2 2022. 7. 3.
반응형

Jmeter로 단순 작업이 아닌 장기간 에이징 테스트에 활용하는 경우가 종종 있다.

필자의 경우 3일 이상 최대 2주 정도의 기간동안 Application의 성능 테스트를 위해 Jmeter를 활용한 사례가 있었다.

이러한 경우 GUI 형태로 실행을 해두면 Jmeter 자체의 Memory Leak(Leak이라기 보단 Log의 양이 jmeter 실행 시 java heap을 넘어가면..)으로 인해 하루도 되지 않아 뻗어버리는 경우가 발생한다.

따라서 Windows에서 실행을 할 때에도 GUI를 종료 후, java를 활용해 CMD에서 bat 파일을 실행하는 형태로 사용해야 하며, Windows 장비도 여의치 않은 경우 Linux 서버에 command로 sh 파일을 실행하는 형태로 사용해야 한다.


 

(1) Windows jmeter.bat 파일 실행하기

C:\Users\altae>cd C:\Users\altae\JINAKIM\TOOLS\apache-jmeter-5.1\bin

C:\Users\altae\JINAKIM\TOOLS\apache-jmeter-5.1\bin>jmeter.bat -n -t _test_counter_csv.jmx -l 20220703.jtl -j 20220703.log > 20220703_std.log
  • -t {jmx 파일명} : 작성해놓은 jmx 파일명을 넣는다.
  • -l {jtl 결과 파일명} : jtl 파일에 남는 결과는 아래와 같다.
    • jmeter script에 작성된 request 단위의 결과 정보가 기록된다. (아래 캡쳐 참고)

jtl 파일 샘플

  • -j {jmeter log 파일명} : log 파일에 남는 결과는 아래와 같다.
    • jmeter.bat 실행에 따른 java 로그가 기록된다. 실행 상에 문제가 있거나 중간에 에러 발생 시 이 로그를 통해 jmeter 실행 시 에러 분석이 가능하다. (memory 이슈 또는 java 실행 시 옵션 에러 등..)
    • Summary 정보로 응답 Avg, Min, Max 와 Error 비율이 특정 시간 단위로 기록된다.

-j 옵션으로 생성된 jmeter 로그 샘플

  • > {stdout 파일명} : 이 부분은 옵션이 아니라 cmd 결과창에 출력되는 아래와 같은 결과를 파일로 기록하기 위함이다. 이 부분은 옵셔널이라 없이 실행하게 되면 아래 결과가 CMD 창에 그대로 출력된다.

 

 

 

 

(2) Linux jmeter.sh 파일 실행하기

/home/jinakim/jmeter/apache-jmeter-5.1/bin/jmeter.sh -n -t _test_counter_csv.jmx -l 20220703.jtl -j 20220703.log > /dev/null 2>&1&
  • 로그 파일 등은 Windows 결과와 동일하다.

 

 

 

(3) 팁!! Jmeter Memory가 부족하여 에러 발생하는 경우

jmeter 실행 파일(bat 또는 sh)이 포함된 bin 폴더에 확장자가 없는 jmeter 라는 파일이 있다.

그 파일을 텍스트 편집기로 열어보면 java option 설정들에 대한 script가 포함되어 있다.

그 중, 아래의 heap 사이즈 조절하는 옵션의 위치에 size를 필요한 만큼 크게 수정후 bat 또는 sh 파일을 다시 실행해주면 적용이 가능하다.

 

반응형

댓글