[nGrinder] 2-1. Controller 설치 2015-05-06

 nGrinder는 JVM에서 동작하게 되므로 JDK를 설치하고 배포된 파일을 톰캣을 활용하여 설치해야합니다. 추가로 테스트를 위해 많은 포트를 사용하게 되므로 방화벽에 의해 포트가 막혀있는지 확인하고 오픈할 필요가 있습니다.

※ 포스팅 참조 : [JAVA 개발환경설정] 3. 다운로드 및 설치
※ 현재(2015.05.07) java 8 – tomcat 8 버전에서 에러가 발생합니다. java 7 – tomcat 7버전을 사용해야합니다.

 

 1. nGrinder 다운로드
http://sourceforge.net/projects/ngrinder/files/ngrinder-3.3/ngrinder-controller-3.3.war
웹 아카이브 파일(WAR)로 배포 되며 직접 자바로 실행 또는 톰켓과 같은 WAS에 올려서 실행할 수 있다.

 

 2. 기본포트 오픈 : 설정변경 가능
- Agent : any => Controller : 16001
- Agent : any => Controller : 12000 ~ 12000 + n(동시 테스트 허용 수)
- Controller : any => Monitor : 13243
- Controller => User : 설정에 따라 다름 (톰캣의 경우 기본 8080)

 

 3. Tomcat Manager를 통한 설치

ngrinder

* Tomcat 매니저를 실행한다
  ※ 포스팅 참조 : [JAVA 개발환경설정] 6. Maven + Tomcat 배포 환경 셋팅
* server.xml에서 기본포트를 80으로 변경 및 Host 추가
  ※ 포스팅 참조 : [CentOS 7] step5. 서비스 설정
* 파일명을 ROOT.war로 변경하여 배포
* "FAIL - Deploy Upload Failed, Exception: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (72346471) exceeds the configured maximum (52428800)" 에러가 발생하면 {Service ROOT}/manager/WEB-INF/web.xml에서 max-file-size, max-request-size 의 용량을 알맞게 수정

 

4. Perm Gen 메모리 설정 : nGrinder는 편의성을 고려하여 여러 라이브러리(SVNKit, Maven, Jetty Web Server, Groovy, Jython 등) 를 포함하고 있어 메모리를 많이 필요로 하게 된다.
vi ${TOMCAT_HOME}/bin/catalina.sh

## 실행옵션에 다음내용을 추가
JAVA_OPTS="-Xms600m -Xmx1024m -XX:MaxPermSize=200m"

 

5. 정상 설치 되었음을 확인한다.

ngrinder_

초기화 계정
- ID : admin 
- PASSWORD : admin

[nGrinder] 1. 기본 개념 2015-05-06

 nGrinder는 여러 머신으로 구성된 시스템에 테스트 스크립트 실행(부하테스트)을 도와 주는 어플리케이션으로 jython(python running on JVM)으로 만들어졌습니다.

 NHN에서 Grinder프로젝트의 console 과 agent 를  확장해 nGrinder를 만들었으며 몇몇 기능이 추가되어 복합적인 동시 테스트를 가능하도록 지원합니다.

ngrinder

주요 컴포넌트는 다음과 같습니다.

>>> Controller

* 퍼포먼스 테스팅(부하테스트)를 위하여 웹인터페이스를 제공합니다.

* 테스트 프로세스를 체계화 합니다.

* 테스트 결과를 수집해 통계를 보여줍니다.

>>> Agent

* agent 모드가 실행되면 프로세스와 스레드를 실행시키고 테스트 대상 서버에 부하를 발생시게 됩니다.

* monitor 모드가 실행되면 대상 시스템의 CPU와 Memory를 모니터링 하게 됩니다.

 

자세한 설명은 다음 링크를 참조

출처(wiki) : http://www.cubrid.org/wiki_ngrinder/entry/general-architecture

 

[JAVA 개발환경설정] 6. Maven + Tomcat 배포 환경 셋팅 2015-04-07

Eclipse에 Maven 플러그인을 통해 Tomcat으로 손쉽게 배포가 가능하다. FTP를 통해 파일을 하나하나 옮기는 방법은 이제 쓰지 말도록 하자.

 

>>> 1. tomcat에 manager를 보안접속하기 위해 유저를 등록한다. (설치는 [CentOS 7] step5. 서비스 설정를 확인)

vi /usr/local/apache-tomcat-8.0.21/conf/tomcat-users.xml
# /usr/local/apache-tomcat-8.0.21/conf/tomcat-users.xml
<tomcat-users>
  <!-- 추가 -->
  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <role rolename="manager-jmx"/>
  <user username="{계정ID}" password="{계정PW}" roles="manager-gui,manager-script,manager-jmx"/>
  <!-- // 추가 -->
</tomcat-users>

 

>>> 2. maven – pom.xml 파일에 플러그인 (tomcat7-maven-plugin)을 추가한다.

tomcat-maven

<plugin>
   <groupId>org.apache.tomcat.maven</groupId>
   <artifactId>tomcat7-maven-plugin</artifactId>
   <version>2.2</version>
   <configuration>
      <url>http://{배포대상URL}/manager/text</url>
      <username>{계정ID}</username>
      <password>{계정PW}</password>
   </configuration>
</plugin>

 

>>> 3. Goals 를 지정하고 Run을 실행한다.

tomcat-maven2

tomcat-maven3

 

>>> 4. 필요에 따라 다음과 같이 Goals를 지정한다.

- 최초배포 : tomcat7:deploy
- 재배포 : tomcat7:redeploy
- 배포삭제 : tomcat7:undeploy