Link
Today
Total
05-18 15:12
Archives
관리 메뉴

초보개발자 긍.응.성

nGrinder 설치 및 실행 본문

nGrinder

nGrinder 설치 및 실행

긍.응.성 2020. 11. 26. 02:44
반응형

nGrinder

nGrinder는 NCP(과거 NBP)와 NHN에서 공동으로 개발 중인 부하 테스트 플랫폼이다. 테스트 스크립트를 만들고, 테스트를 실행하고, 대상 서버 모니터링하며 결과를 동시에 생성할 수 있다. 내부적으로는 테스트 성능 테스트 툴인 Grinder를 사용한다.

 

naver/ngrinder

enterprise level performance testing solution. Contribute to naver/ngrinder development by creating an account on GitHub.

github.com

아키텍처

nGrinder는 jython(JVM에서 동작하는 python) 또는 Groovy(3.2 버전 이후로 지원)로 작성된 스크립트를 통해 여러 대의 장비에 테스트를 동작시키는 애플리케이션이다. 내부 엔진은 Grinder에 기반하고 있다. nGrinder는 Grinder가 가지는 console(콘솔)과 agent(에이전트)를 controller(컨트롤러)와 agent(에이전트)로 감싸고 여러 기능을 확장하여 동시 테스트를 지원한다.

nGrinder는 두 개의 컴포넌트로 구성된다.

Controller - 테스트를 위한 웹 인터페이스를 제공. 컨트롤러는 에이전트에게 신호를 보내 테스트 스크립트를 실행 및 nGrinder에 대한 전반적인 기능 관리를 제공.

Agent - 프로세스와 쓰레드를 동작시켜 target(타겟) 머신에 부하를 준다. agent mode로 동작하며, 컨트롤러로 부터 신호를 받아 부하를 주는 역할을 한다.

자세한 아키텍처의 원문은 이 링크를 참고하세요.

 

nGrinder 설치 및 실행

  • 설치 및 실행을 위해 최소 JDK 버전은 1.7 이상이어야 합니다.

Controller 다운로드 및 실행

nGrinder 깃허브 release에서 원하는 버전의 컨트롤러를 다운로드한다.

최신 버전인 3.5.2 버전을 다운로드한다. 윈도우의 경우 war파일을 클릭하여 직접 다운로드하고, linux 환경에서 다운로드 링크를 이용하여 war를 다운로드하면된다. 다운로드가 완료되었으면 war 파일을 실행시켜 nGrinder Controller를 실행하자.

$ wget https://github.com/naver/ngrinder/releases/download/ngrinder-3.5.2-20200929/ngrinder-controller-3.5.2.war
$ java -jar ngrinder-controller-{version}.war

nGrinder가 실행되면 호스트와 포트번호(8080)를 입력하여 컨트롤러에 접속 가능하다.

nGrinder Controller 로그인 페이지

초기 User ID와 Password는 모두 admin이다. 로그인을 한 후 비밀번호는 보안을 위해 수정해주자.

로그인 후 화면은 위와 같다.

 

728x90

에이전트 다운로드 및 실행

상단 admin 탭에서 에이전트 다운로드를 통해 직접 다운로드한다. 리눅스의 경우 다운로드 링크가 필요한데, 이 경우 에이전트 관리 탭에 들어가면 다운로드 링크를 찾을 수 있다.

에이전트 관리 탭에서 다운로드 링크 확인

현재 Controller의 호스트와 다운로드 url을 붙여 wget 명령어를 날려주면 tar파일로 다운로드가능하다.

$ wget http://{host}:8080//agent/download/ngrinder-agent-3.5.2.tar

다운로드한 tar파일을 적절한 위치에 풀어내면 ngrinder-agent 디렉터리를 확인한다. 이 디렉터리에는 여러 라이브러리 파일과 에이전트 실행 스크립트가 있다. run_agent, stop_agent를 통해 에이전트를 켜고 끌 수 있다.

window의 경우 run_agent.bat, 리눅스 기반일 경우 run_agent.sh 스크립트를 실행하여 에이전트를 실행한다.

Agent 실행, Waiting for agent controller server signal!

에이전트가 실행되면 controller로부터 신호를 기다리는 상태임을 로그를 통해 확인할 수 있다.

다시 컨트롤러의 '에이전트 관리' 탭으로 가면, 같은 호스트에서 컨트롤러와 에이전트를 함께 실행한 경우 에이전트는 디폴트로 현재 호스트 IP를 컨트롤러의 IP로 바라보기에 자동으로 등록된 것을 확인 가능하다.

Controller에 Agent가 등록된 모습

만약 다른 환경에 컨트롤러와 에이전트를 구성하였다면 ~/.ngrinder_agent/agent.conf 파일에서 agent.controller_host 속성을 컨트롤러의 호스트로 수정하여 연결한다.

agent.controller_host 를 컨트롤러 호스트로 수정

 

여기까지 nGrinder의 주요 컴포넌트인 컨트롤러와 에이전트를 설치하고 실행하는 방법에 대하여 알아보았습니다. 다음에는 실제 부하를 어떻게 넣어주는지 알아보겠습니다. 궁금한 내용이나 수정되어야 하는 내용이 있으면 댓글로 남겨주세요. 감사합니다.


참고자료

반응형

'nGrinder' 카테고리의 다른 글

nGrinder Groovy Script 작성방법  (0) 2020.12.02
Comments