nGrinder 세팅 및 nGrinder를 활용한 부하테스트 방식 정리 문서.
개발 환경
- Window
- ngrinder-3.5.5-p1 ver
- ngrinder-agent-3.5.5-p1-localhost.tar ver
nGrinder란?
nGrinder란?
→ 네이버에서 개발한 오픈소스 프로젝트
→ 부하테스트를 위한 플랫폼으로 웹 애플리케이션 Controller와 자바 애플리케이션 Agent로 구성.
→ 웹 애플리케이션을 서비스하기 전에, 서버가 얼마나 많은 사용자를 수용할 수 있는지 요청을 전송해봄으로써 서버의 성능을 측정해볼 수 있다.
→ 클라우드 환경에서도 실행 가능하며, jython 또는 Groovy 같은 스크립트 언어를 사용하여 스크립트를 작성한다

nGrinder 관련 용어 정리
- TPS (Transcations Per Second)
- 초당 처리가능한 트랜잭션 수
- ex TPS가 100이면 초당 처리 할 수 있는 작업이 100이라고 생각해도 된다.
- Vuser (Virtual User)
- 가상 사용자
- ex 가상 사용자 수를 10으로 설정하면 부하 테스트 시나리오에서 10명의 가상 사용자가 동시에 시스템 또는 애플리케이션에서 동작하고 있다는 것을 의미.
- server(collector): Agent가 전송한 데이터 수집/처리
- agent.host: OS의 CPU, Memory, Disk 등의 성능 정보 전송
- agent.java: 실시간 서비스 성능 정보, Heap Memory, Thread 등 Java 성능 정보
- agent.java_6_7: for java6, java7
- agent.batch: 배치 잡 모니터링
- webapp: Rest API 독립 서버, server에 embedded로 실행 가능.

- TPS: 평균 TPS
- Peak TPS: 최고 TPS
- Mean Test Time: 평균 테스트시간
- Executed Tests: 테스트 실행 횟수
- Successful Tests: 테스트 성공 횟수
- Errors: 에러 횟수
- Run Time: 테스트 실행시간
Controller | Agent |
---|
`성능 측정을 위한 웹 인터페이스 제공 | 에이전트 모드에서 실행할 때, 대상 시스템에 부하를 주는 프로세스 및 스레드를 실행 |
테스트 프로세스 조정 | 모니터 모드에서 실행 시, 시스템 성능(CPU/메모리) 모니터링 |
테스트 통계를 수집하고 표시 | |
스크립트 수정 기능 제공 | |
nGrinder 설치 및 세팅

→ ngrinder-controller-3.5.5-p1.war 다운.

→ ngrinder-controller-3.5.5-p1.war 파일이 있는 디렉토리 경로로 이동.
→ 터미널: java -jar ngrinder-controller-3.5.5-p1.war --port=8300 명령어 실행.

→ http://localhost:8300/ URL 접속
- 초기 ID: admin
- 초기 PW: admin

→ 에이전트 다운로드 클릭
→ ngrinder-agent-3.5.5-p1-localhost.tar 압축 풀기 및 에이전트 실행.

- (MAC) ./run_agent.sh
- (WINDOW) ./run_agent.bat

-> 에이전트 관리 클릭

-> 에이전트 정상 실행 확인
Script 생성 및 성능테스트 수행

→ 스크립트 탭 >만들기 버튼 클릭.

주의: 로컬호스트 URL 입력 시, localhost 형식이 아닌 127.0.01 형식으로 넣어주어야 합니다.
- 스크립트 종류
- Groovy
- Groovy (Legacy)
- Jython
- Groovy Gradle Project

-> 검증 > 저장 클릭

-> 성능 테스트 > 테스트 생성 클릭.



-> 캐시 적립예약 승인처리 API 개발계 테스트 결과 확인
-> 부하테스트 상세 로그도 파일로 다운로드 받을 수 있다는 장점이 있습니다.


참고 자료 (출처)
https://naver.github.io/ngrinder/
https://github.com/naver/ngrinder/releases
https://github.com/naver/ngrinder