카테고리 없음

nGrinder 개념과 Docker를 활용한 설치

*티몬* 2021. 11. 25. 10:00

참조자료

https://www.youtube.com/watch?v=A1vySwjXKNY 

https://brownbears.tistory.com/25

 

개념

Load Test란?

  • 부하 테스트 혹은 스테레스 테스트라고도 한다.
  • 일부러 시스템에 부하를 발생시킨다.
  • 얼마만큼의 부하를 버틸 수 있는 가를 평가한다.

nGrinder란?

  • Load Test를 하기위한 도구이다
  • NHN에서 제작
  • 오픈소스 부하 테스트 도구인 grinder를 기반으로 작성
  • 웹 기반으로 테스트를 진행할 수 있다.
  • 복수의 장비를 이용해서 대상 시스템에 큰 부하를 발생시킬 수 있다.
  • 스크립트를 작성해서 테스트 시나리오를 만들 수 있다.

 

nGrinder의 구성요소

Controller

  • 웹 기반의 GUI 시스템
  • 유저 관리 기능 제공
  • 에이전트 관리
  • 부하 테스트 실시 & 모니터링
  • 부하 시나리오 작성 테스트 내역을 저장하고 재활용 할 수 있다.

 

Agent

  • 부하를 발생시키는 대상(인스턴스)
  • Controller의 지휘를 받는다.
  • 복수의 머신에 설치해서 controller의 신호에 따라서 일시에 부하를 발생시킨다.

 

nGrinder의 간략설명

nGrinder 설치

도커로 설치

nGrinder Controller

# nGrinder Controller 설치 및 컨테이너 생성

# nGrinder Controller Docker 이미지를 다운받는다
$ docker pull ngrinder/controller:3.4

# nGrinder Controller 컨테이너 생성
# {controller_web_port}만 수정해서 명령을 진행한다. 
$ docker run -d -v ~/ngrinder-controller:/opt/ngrinder-controller -p {controller_web_port}:80 -p 16001:16001 -p 12000-12009:12000-12009 ngrinder/controller:3.4

# 예시
$ docker run -d -v ~/ngrinder-controller:/opt/ngrinder-controller -p 8080:80 -p 16001:16001 -p 12000-12009:12000-12009 ngrinder/controller:3.4

 

nGrinder Agent

# nGrinder Agent 설치 및 컨테이너 생성

# nGrinder Agent Docker 이미지를 다운받는다
$ docker pull ngrinder/agent:3.4

# nGrinder Agent 컨테이너 생성
# {controller_ip}:{controller_web_port}만 수정해서 명령을 진행한다. 
$ docker run -v ~/ngrinder-agent:/opt/ngrinder-agent -d ngrinder/agent:3.4 {controller_ip}:{controller_web_port}

# 예시
# docker에서는 localhost가 아닌 host.docker.internal 로 사용해야 한다
$ docker run -v ~/ngrinder-agent:/opt/ngrinder-agent -d ngrinder/agent:3.4 host.docker.internal:8080