[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

[TIP] 아파치 인증 2015-04-22

간단하게 인증이 필요한 페이지를 개발하고자 할때 아파치에서 제공하는 인증기능을 사용할 수 있다. 디자인이 필요없고 서버단에서의 세션관리 기능을 구현할 필요가 없어 편리하다.
윈도우 리눅스 모두 가능하다.

 

1. 접근경로 최상위 폴더에 .htaccess파일을 생성하고 다음과 같이 설정한다.
AuthName "{인증명 - 인증창에 보여지게 됨}"
AuthType Basic  #인증유형 기본 Basic
AuthUserFile {인증정보저장 경로}/.htpasswd
#AuthGroupFile {그룹명}    # 그룹별 인증 원할경우
# GET POST 방식의 접근만 허용하도록 설정
<Limit GET POST>
   require valid-user   # 인증된 사람만이 접속을 허용
</Limit>
2. htpasswd 명령을 실행하여 사용자를 생성합니다.
# 최초 생성
{apache 경로}/bin/htpasswd -c .htpasswd {아이디}
# 아이디 추가
{apache 경로}/bin/htpasswd .htpasswd {아이디}
3. 인증창에 설정한 아이디 비밀번호를 입력해야만 접근이 가능함

apacheAuth

4. 인증된 상태로만 유지될 경우 보안에 문제가 생기므로 다음과 같이 로그아웃을 처리해야만 함
header('HTTP/1.1 401 Unauthorized', true, 401);
echo "{화면에 표시될 로그아웃 메시지 (※ html로 구성가능)}";
exit;