[nGrinder] 2-2. Agent 설치 2015-05-07

[2-1. Controller]에서 설치한 컨트롤러 서버로 부터 설치 파일을 다운로드 받아 압축을 풀고 실행한다. 별다른 설정 필요없이 자동으로 컨트롤러 서버에 연결된다.

 

 1. 다운로드 및 압축해제
cd /usr/local/src
wget http://{Controller Host}/agent/download
mv download agent.tar.gz
tar xvf agent.tar.gz
ngrinder-agent 폴더가 생성된다.

 

 2. 생성된 폴더를 적당한 위치에 옮기고 agent를 실행
mv ngrinder-agent ../
cd /usr/local/ngrinder-agent
./run_agent.sh or ./run_agent_bg.sh
백그라운드로 실행(run_agent_bg.sh)하지 않고 로그를 실시간으로 확인하기 위해서는 run_agent.sh를 실행한다.

 

 3. 많은 쓰레드를 실행할 수 있도록 설정을 변경한다.

ngrinder_agent2

# 확인
ulimit -a
# 설정
vi /etc/security/limits.conf
ulimit -a에서 확인한 값중 max user processes와 open files 두값이 10000이하일 경우 /etc/security/limits.conf 파일을 다음과 같이 수정
 ※ 다른계정으로 실행되기를 원한다면 root 대신 다른계정을 입력
root          soft          nproc          32768
root          hard          nproc          32768
root          soft          nofile         16000
root          hard          nofile         16000

 

 4. 컨트롤러의 Agent Management 메뉴에서 접속 되었음을 확인

ngrinder_agent
 

[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