nGrinder 설치 및 실행 (로컬 환경)
nGrinder를 로컬에서 구동하는 이유는 처음 Docker를 이용해 테스트하려고 했으나 M1 환경을 지원하는 nGrinder Docker 이미지가 존재하지 않고 JDK 설정 등 Docker로 할 경우 호환성 문제가 많아 로컬 환경에 controller와 agent를 다운로드 받아 진행했다. 아래 nGrinder 공식 깃헙에서 controller war 파일을 다운받아 실행한다.
GitHub - naver/ngrinder: enterprise level performance testing solution
enterprise level performance testing solution. Contribute to naver/ngrinder development by creating an account on GitHub.
github.com
nGrinder Controller 실행
아래 명령어를 입력해서 다운로드받은 .war 파일을 실행한다. {HOME}의 경우 각자 환경의 ${HOME}을 넣어주면 되는데 맥북의 경우는 /Users/thinkingpotate 이런식으로 터미널에서 '~'로 표현되는 경로를 넣어주면 된다. nGrinder controller를 실행했으면 http://localhost:{port}로 접속해 controller console에 접근한다.기본 아이디·비밀번호(admin, admin)를 입력하면 로그인할 수 있다.
java -Djava.io.tmpdir={HOME}/.ngrinder/lib -jar ngrinder-controller-{version}.war -p {port}

nGrinder Agent 실행
위 사진처럼 nGrinder console에 접속 후 어드민 메뉴에서 Download Agent 선택하면 nGrinder agent파일인 ngrinder-agent-{version}-localhost.tar 다운로드 할 수 있다. 이 후 아래 명령어를 이용해 agent를 실행한다.
./run_agent.sh
nGrinder 스크립트 생성 - Groovy
nGrinder console에서 script에 접속해 생성. script 작성이 완료되면 Validate(Health Check)를 필수적으로 해줘야한다. Validate가 정상적으로 동작하지 않으면 테스트 불가. Validate 정상 진행시 아래와 같이 로그를 볼 수 있음. WAS에도 로그가 잘 찍히는지 확인해보자


Groovy 스크립트에서 사용하는 어노테이션과 스크립트 워크플로우에 대한 내용은 아래 블로그를 참고
nGrinder Groovy Script 작성방법
Groovy Script Structure nGrinder 3.2부터 스크립트 언어로써 Groovy를 지원하기 시작했습니다. Groovy 스크립트는 JUnit에 기반하여 동작합니다. Groovy로 작성한 스크립트 예 import static net.grinder.script.Grinder.grin
ckddn9496.tistory.com
nGrinder PerformanceTest

Agent: 부하를 발생시키는 대상. Controller에 종속되어 있으며 복수 머신에 설치해 여러대의 Agent 구성 가능
Vuser per agent: Agent별 부하를 발생시키는사용자의 수 지정
script: 테스트를 진행할 script
duration: 테스트를 수행하는 시간. 예를 들어, Vuser가 10명, duration이 10s 이고 결과의 총 테스트 갯수가 약 40,000이라면 Vuser당 초당 400개의 요청이 처리된 것임.
run count: 해당 테스트에서 몇개의 요청을 발생시킬건지 설정(duration과 run count 둘 중 하나만 사용 가능)
Ramp-Up: 테스트를 할때 점진적인 부하를 가하며 테스트할 것인지 설정

TPS(Transaction Per Second): 초당 트랜잭션 처리량
Mean Test Time: 평균 response time
nGrinder 설치 및 실행 (로컬 환경)
nGrinder를 로컬에서 구동하는 이유는 처음 Docker를 이용해 테스트하려고 했으나 M1 환경을 지원하는 nGrinder Docker 이미지가 존재하지 않고 JDK 설정 등 Docker로 할 경우 호환성 문제가 많아 로컬 환경에 controller와 agent를 다운로드 받아 진행했다. 아래 nGrinder 공식 깃헙에서 controller war 파일을 다운받아 실행한다.
GitHub - naver/ngrinder: enterprise level performance testing solution
enterprise level performance testing solution. Contribute to naver/ngrinder development by creating an account on GitHub.
github.com
nGrinder Controller 실행
아래 명령어를 입력해서 다운로드받은 .war 파일을 실행한다. {HOME}의 경우 각자 환경의 ${HOME}을 넣어주면 되는데 맥북의 경우는 /Users/thinkingpotate 이런식으로 터미널에서 '~'로 표현되는 경로를 넣어주면 된다. nGrinder controller를 실행했으면 http://localhost:{port}로 접속해 controller console에 접근한다.기본 아이디·비밀번호(admin, admin)를 입력하면 로그인할 수 있다.
java -Djava.io.tmpdir={HOME}/.ngrinder/lib -jar ngrinder-controller-{version}.war -p {port}

nGrinder Agent 실행
위 사진처럼 nGrinder console에 접속 후 어드민 메뉴에서 Download Agent 선택하면 nGrinder agent파일인 ngrinder-agent-{version}-localhost.tar 다운로드 할 수 있다. 이 후 아래 명령어를 이용해 agent를 실행한다.
./run_agent.sh
nGrinder 스크립트 생성 - Groovy
nGrinder console에서 script에 접속해 생성. script 작성이 완료되면 Validate(Health Check)를 필수적으로 해줘야한다. Validate가 정상적으로 동작하지 않으면 테스트 불가. Validate 정상 진행시 아래와 같이 로그를 볼 수 있음. WAS에도 로그가 잘 찍히는지 확인해보자


Groovy 스크립트에서 사용하는 어노테이션과 스크립트 워크플로우에 대한 내용은 아래 블로그를 참고
nGrinder Groovy Script 작성방법
Groovy Script Structure nGrinder 3.2부터 스크립트 언어로써 Groovy를 지원하기 시작했습니다. Groovy 스크립트는 JUnit에 기반하여 동작합니다. Groovy로 작성한 스크립트 예 import static net.grinder.script.Grinder.grin
ckddn9496.tistory.com
nGrinder PerformanceTest

Agent: 부하를 발생시키는 대상. Controller에 종속되어 있으며 복수 머신에 설치해 여러대의 Agent 구성 가능
Vuser per agent: Agent별 부하를 발생시키는사용자의 수 지정
script: 테스트를 진행할 script
duration: 테스트를 수행하는 시간. 예를 들어, Vuser가 10명, duration이 10s 이고 결과의 총 테스트 갯수가 약 40,000이라면 Vuser당 초당 400개의 요청이 처리된 것임.
run count: 해당 테스트에서 몇개의 요청을 발생시킬건지 설정(duration과 run count 둘 중 하나만 사용 가능)
Ramp-Up: 테스트를 할때 점진적인 부하를 가하며 테스트할 것인지 설정

TPS(Transaction Per Second): 초당 트랜잭션 처리량
Mean Test Time: 평균 response time