참조자료
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 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