don't stop believing

Ubuntu에 nGrinder 설치 하기 (v3.4) 본문

Testing Automation/nGrinder

Ubuntu에 nGrinder 설치 하기 (v3.4)

Tongchun 2017. 9. 5. 10:42

성능 테스트할 때 자주 사용하는 nGrinder를 설치해 봅시다.

설치할 OS는 Ubuntu 16.04 입니다.

생각난 김에 Ubuntu에서 버전을 확인하는 명령은 lsb_release 입니다.

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04.3 LTS
Release:	16.04
Codename:	xenial

nGrinder는 3.4 버번을 설치합니다. 이전 3.3 버전에서는 java 7을 설치해야 했는데 3.4부터는 java 버전제약이 없어졌습니다.

그래서 java 8을 먼서 설치하도록 하겠습니다.

java repository를 추가하고 update 합니다.

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update

이제 java jdk 8을 설치 합니다 설치 진행 중 라이선스 동의에 대한 확인이 나옵니다.

$ sudo apt-get install oracle-java8-installer

설치가 완료되면 java 버전을 확인해 봅니다.

$ java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

이제 tomcat을 설치해 봅니다.

nGrinder는 war이기 때문에 java만 있으면 바로 실행시킬수 있습니다. 하지만 관리 편의상 tomcat에서 띄워 줍니다.

tomcat8을 설치해 봅니다.

$ sudo apt-get install tomcat8

tomcat8 유저를 만들고 권한 설정을 합니다.

$ sudo chown tomcat8:tomcat8 /usr/share/tomcat8

tomcat의 catalina.sh를 찾아 설정을 합니다.

$ sudo vim /usr/share/tomcat8/bin/catalina.sh

vim으로 catalina.sh 파일을 열어서 아래 내용을 추가 합니다.

JAVA_OPTS="-Xms600m -Xmx1024m -XX:MaxPermSize=200m"

다음으로 tomcat의 JAVA_HOME 경로를 지정합니다.

$ sudo vim /etc/default/tomcat8

tomcat8 파일을 열고 아래 JAVA_HOME 경로를 추가합니다.

JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")

nGrinder 3.4 버전을 tomcat에 다운받는다.

$ cd /var/lib/tomcat8/webapps/
$ sudo wget https://github.com/naver/ngrinder/releases/download/ngrinder-3.4.1-20170131/ngrinder-controller-3.4.1.war

브라우저에서 http://<ip>:8080/ngrinder-controller-3.4.1 호출하면 nGrinder가 열린다.


Tomcat의 기본 포트는 8080이며 만약 포트를 변경하고 싶다면 server.xml에서 Connector 정보를 변경하면 된다.

나는 서버 한대에서 여러가지 서버를 실행시키다 보니 80, 8080, 9090 등의 포트가 이미 사용되고 있어서 8888로 포트를 변경했다.

$ sudo vim /etc/tomcat8/server.xml

네트워크의 Port 정보를 확인하고 싶다면 netstat 명령으로 확인할 수 있다.

$ netstat -anp | grep 8888

server.xml 파일을 열고 Connector 부분의 port를 변경한다.

<Connector port="8888" protocol="HTTP/1.1"
	connectionTimeout="20000"
	URIEncoding="UTF-8"
	redirectPort="8443" />

기본 User ID와 Password는 admin admin 이다.

Tomcat이 재대로 실행 됐는지 확인하고 싶다면 아래 명령으로 확인할 수 있다.

$ sudo tail -f /var/log/tomcat8/catalina.out $ sudo tail -f /usr/share/tomcat8/.ngrinder/logs/ngrinder.log $ ps -ef | grep java*


Tomcat이 아닌 java로 직접 실행할 수도 있다.

적당한 곳에 폴더를 만들고 ngrinder-controller를 다운 받는다.

$ sudo mkdir /ngrinder
$ cd /ngrinder
$ sudo wget https://github.com/naver/ngrinder/releases/download/ngrinder-3.4.1-20170131/ngrinder-controller-3.4.1.war

사용할 포트를 확인하고 java로 아래처럼 실행할 수 있다.

$ sudo java -XX:MaxPermSize=200m -jar ngrinder-controller-3.4.1.war --port 8888

브라우저에서 http://<IP>:8888 실행하면 nGrinder가 실행된다.


이제 실재 부하를 발생시키는 Agent를 설치해 보자.

실무에서 별도의 서버에 Agent를 설치한다. Agent역시 Java가 설치되어 있으어 한다.

Agent는 Controller에서 다운로드 받을수 있다. Controller에 admin으로 로그인을 하면 상단 메뉴에 admin이 보이며 Dowonload Agent를 클릭하면 해당 Controller에 대한 Agent가 다운로드 된다.

먼저 Download Agent 링크를 우클릭해 URL을 확인한다.

http://192.168.0.188:8888/ngrinder-controller-3.4.1/agent/download




적당한 곳에 폴더를 만들고 Agent를 다운로드 한다.

$ sudo mkdir /ngrinder
$ cd /ngrinder
$ sudo wget -O ngrinder-agent-3.4.1.tar http://192.168.0.188:8888/ngrinder-controller-3.4.1/agent/download

다운받은 tar 파일의 압축을 해제하고 폴더를 확인한다.

$ sudo tar xvf ngrinder-agent-3.4.1.tar
$ cd ngrinder-agent

__agent.conf 파일을 열어서 Controller 정보를 확인한다.

$ sudo vim __agent.conf

agent.controller_host의 정보가 Controller IP가 맞는지 확인한다.

common.start_mode=agent
agent.controller_host=192.168.0.188
agent.controller_port=16001
agent.region=NONE
#agent.host_id=
#agent.server_mode=true

agent 파일에 대한 권한 설정을 한다.

$ sudo chown ngle:ngle /ngrinder/ngrinder-agent/run_agent.sh
$ sudo chown ngle:ngle /ngrinder/ngrinder-agent/run_agent_bg.sh

$ sudo chmod u+x /ngrinder/ngrinder-agent/run_agent.sh
$ sudo chmod u+x /ngrinder/ngrinder-agent/run_agent_bg.sh

agent를 실행한다. 기본 실행일 경우에는 run_agent.sh, 백그라운드 실행일 경우 run_agent_bg.sh를 실행한다.

보통 백그라운드를 실행하지만 로그를 바로 확인해야 할 경우 기본 실행으로 실행할때도 있다.

$ sudo sh run_agent.sh

Agent를 실행하며 Controller에서 Agent가 실행된걸 확인할 수 있다.



서버가 재시작될 경우 agent가 자동실행되게 하려면 rc.local 파일에 설정한다.

$ sudo vim /etc/rc.local

rc.local 파일을 열면 마지막 라인에 exit 0이 있으며 바로 윗줄에 아래 내용을 추가한다.

sh '/ngrinder/ngrinder-agent/run_agent_bg.sh'

rc.local 파일 변경후 권한 설정을 하고 실행한다.

$ sudo chown root /etc/rc.local
$ sudo chmod 755 /etc/rc.local
$ sudo /etc/init.d/rc.local start

이상으로 nGrinder 설치 완료!



'Testing Automation > nGrinder' 카테고리의 다른 글

nGrinder에서 json 다루기  (0) 2018.10.24
CentOS에 nGrinder 설치 하기 (v3.4)  (0) 2017.10.11
nGrinder Controller 설정  (1) 2017.09.19
Comments