nGrinder 설치 가이드
개요Permalink
SoMa Create Trend 서비스 제작 과정 중 부하테스트를 위한 과정에 사용한 ngrinder
에 대해 정리하는 글이다.
더불어 멘토님의 조언에 따라 nGrinder Official Document Guide를 따른다.
Installation GuidePermalink
PrerequisitePermalink
-
nGrinder는 web application(Controller)과 Java applications(Agent, Monitor)로 이루어져있다. nGrinder Agent와 Monitor는 Oracle JDK 1.6~ OpenJDK 1.7~ 이 필요하다.
- 자바의 환경변수가 제대로 설정되어있는지 확인한다.
- nGrinder는 많은 포트를 사용하기때문에 그 포트들이 방화벽에 막혀있다면 열어주어야 한다.
- Agent : Any ==> Controller : 16001
- Agent : Any ==> Controller : 12000 ~ 12000+(the number of concurrent tests allowed)
- Controller : Any ==> Monitor : 13243
- Controller ==> Public user : This is dependent on your tomcat configuration. By default, it is set as 8080.
DownloadPermalink
- https://github.com/naver/ngrinder/releases
Install ControllerPermalink
nGrinder는 독립 실행이 가능한 jenkins파일처럼 web archive file로 배포되었고, 자신에게 친숙한 web application server로 실행할 수 있다.
! 파일 경로에 “C:\Program Files”처럼 공백이 들어가면 안된다.
Run on DockerPermalink
도커로 실행하길 원한다면 https://hub.docker.com/r/ngrinder/controller/ 참조
Run as self executablePermalink
독립적으로 실행하고싶을경우
-
환경변수 PATH와 JAVA_HOME을 미리 설정한다.
-
nGrinder controller를 실행한다. (이 방법은 오류가 생긴다.)
java -jar ngrinder-controller-X.X.war
-
위 방법은 nGrinder가 SVNKit, maven, Jetty webserver, groovy, 그리고 python 등의 라이브러리를 사용하여 매우 큰 PermGen 메모리를 필요로 하기 때문에 오류가 생긴다. 다음과 같은 커맨드로 nGrinder controller를 실행한다.
java -XX:MaxPermSize=200m -jar ngrinder-controller-3.4.war
-
만약 포트를 자신이 원하는 대로 할당하고 싶은 경우 다음과 같은 커맨드로 실행한다.
java -XX:MaxPermSize=200m -jar ngrinder-controller-3.4.war --port 80
-
war 파일을 실행하는 동안 war이 ~/.ngrinder/webapp 폴더에 추출되고, 여러가지 데이터들이 .ngrinder 폴더에 저장된다.
-
다음과 같은 로그 메시지를 보면 ngrinder controller가 준비된 상태다.
INFO 14. 1. 20 오후 4:39:liquibase: ChangeSet ngrinder_datachange_logfile/db.changelog_schema_22.xml::22::ngrinder.3.3 r an successfully in 4ms INFO 14. 1. 20 오후 4:39:liquibase: ChangeSet ngrinder_datachange_logfile/db.changelog_schema_23.xml::23::ngrinder.3.3 r an successfully in 7ms INFO 14. 1. 20 오후 4:39:liquibase: ChangeSet ngrinder_datachange_logfile/db.changelog_schema_24.xml::24::ngrinder.3.3 r an successfully in 2ms INFO 14. 1. 20 오후 4:39:liquibase: ChangeSet ngrinder_datachange_logfile/db.changelog_schema_25.xml::25::ngrinder.3.3 r an successfully in 7ms INFO 14. 1. 20 오후 4:39:liquibase: ChangeSet ngrinder_datachange_logfile/db.changelog_schema_26.xml::26::ngrinder.3.3 r an successfully in 8ms 2014-01-20 16:39:30.633:INFO:/:Initializing Spring FrameworkServlet 'appServlet' 2014-01-20 16:39:31.141:INFO::Started SocketConnector@@0.0.0.0:8080
-
브라우저를 열고 http://localhost:8080/ 에 들어가보자.
Run on TomcatPermalink
이 부분에 대해선 다루지 않는다. https://github.com/naver/ngrinder/wiki/Installation-Guide 를 참조한다.
MorePermalink
- 자신이 원하는 대로 옵션을 커스터마이징할 수 있다.
Install AgentsPermalink
nGrinder 최신 버전부터 agents를 controller로부터 다운받는다. agent package가 이미 controller에 포함되어있다.
tar file 압축을 풀고 run_agent.sh나 run_agent.bat을 실행하면 agent가 controller에 연결된다.
- admin으로 로그인한다. 기본 비밀번호도 admin이다.
- tar파일이 다운로드된다.
- 압축을 푼 뒤 run_agent 파일을 실행한다.
- agent를 실행하면, 최신 설정파일으로 덮어씌워진다.
- agent를 중지시키려면 stop_agent 파일을 실행한다.
- nGrinder 3.3에서, 연결된 agent가 자동으로 controller에 승인된다. 이미 있는 configuration을 승인하려면, agent에서 직접 승인해주어야 한다.
Install MonitorPermalink
nGrinder 모니터 또한 controller에서 다운받을 수 있다.
-
Monitor를 다운로드 받는다.
- 압축을 푼 뒤 run_montor_bg나 run_monitor를 실행한다.
- Monitor를 종료하려면, stop_monitor를 실행한다.
nGrinder준비가 되었으므로 Quick Start 에서 실행해본다.
댓글남기기