DATA 전문가로 가는 길

[TIP][성능측정도구] NHN - nGrinder 설치 가이드 본문

IT

[TIP][성능측정도구] NHN - nGrinder 설치 가이드

EstenPark 2016. 12. 14. 10:39

네이버에서 성능 측정 목적으로 개발 된 오픈소스 프로젝트이며, 2011년에 공개 되었습니다. 성능 측정이라는 것은 실제 서비스에 투입 되기 앞서서 실제와 같은 환경을 만들어 놓고, 서버가 사용자를 얼마나 받아 줄 수 있는지 확인 하는 단계라고 보시면 됩니다. 


서비스를 오픈 하는 시점에서 얼마나 많은 사용자가 접속할지 예측하기 어렵기 때문에 nGrinder 성능 측정 도구를 이용해서 최대 가용을 확인 해볼 수 있습니다.


CentOS7에서 설치 했으며, wget, Java, Tomcat7 3가지 필요합니다.


1. nGrinder Architecture

  - Controller

    - 성능 테스트를 위한 웹 인터페이스

  - Agent

    - Controller의 명령을 받아서 실행

  - Target(moniter)

    - 실험 대상이 될 서버이며, 여기에 nGrinder-Monitor가 실행이 되면 실험하는 동안 현 상황 정보를 Controller에서 웹 인터페이스로 모니터링 할 수 있습니다.


nGrinder Architecture 설명 바로가기




2. nGrinder Controller 설치(shell script)

#!/bin/bash

# 1. nGrinder 설정
# 1.1. 계정 추가 및 패스워드 생성
sudo useradd ngcontroller
echo 'ngcontroller' | passwd --stdin ngcontroller

# 1.2. /etc/sudoers setup
echo 'ngcontroller ALL=NOPASSWD: ALL' >> /etc/sudoers

# 1.3. /etc/profile setup
echo '# java path' >> /etc/profile
echo 'export JAVA_HOME=/usr/share/jdk7' >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
echo '' >> /etc/profile
echo 'export JRE_HOME=/usr/share/jdk7/jre' >> /etc/profile
echo 'export PATH=$PATH:$JRE_HOME/bin' >> /etc/profile
echo '' >> /etc/profile
echo 'export CLASSPATH="."' >> /etc/profile
echo '' >> /etc/profile
echo '' >> /etc/profile
echo '# Tomcat7 path' >> /etc/profile
echo 'export CATALINA_HOME=/usr/share/tomcat7' >> /etc/profile
echo 'export PATH=$PATH:$CATALINA_HOME/bin' >> /etc/profile
source /etc/profile

#1.4. /etc/init.d/tomcat7 setup
echo '#!/bin/bash' >> /etc/init.d/tomcat7
echo '# description: Tomcat Start Stop Restart' >> /etc/init.d/tomcat7
echo '# processname: tomcat7' >> /etc/init.d/tomcat7
echo '# chkconfig: 234 20 80' >> /etc/init.d/tomcat7
echo '' >> /etc/init.d/tomcat7
echo 'JAVA_HOME=$JAVA_HOME' >> /etc/init.d/tomcat7
echo 'export JAVA_HOME' >> /etc/init.d/tomcat7
echo 'PATH=$JAVA_HOME/bin:$PATH' >> /etc/init.d/tomcat7
echo 'export PATH' >> /etc/init.d/tomcat7
echo 'CATALINA_HOME=/usr/share/tomcat7' >> /etc/init.d/tomcat7
echo '' >> /etc/init.d/tomcat7
echo 'case $1 in' >> /etc/init.d/tomcat7
echo 'start)' >> /etc/init.d/tomcat7
echo 'sh $CATALINA_HOME/bin/startup.sh' >> /etc/init.d/tomcat7
echo ';;' >> /etc/init.d/tomcat7
echo 'stop)' >> /etc/init.d/tomcat7
echo 'sh $CATALINA_HOME/bin/shutdown.sh' >> /etc/init.d/tomcat7
echo ';;' >> /etc/init.d/tomcat7
echo 'restart)' >> /etc/init.d/tomcat7
echo 'sh $CATALINA_HOME/bin/shutdown.sh' >> /etc/init.d/tomcat7
echo 'sh $CATALINA_HOME/bin/startup.sh' >> /etc/init.d/tomcat7
echo ';;' >> /etc/init.d/tomcat7
echo 'esac' >> /etc/init.d/tomcat7
echo 'exit 0' >> /etc/init.d/tomcat7

chmod +x /etc/init.d/tomcat7
chmod 755 /etc/init.d/tomcat7

# 1.3. wget 설치
yum install wget -y

# 1.4. SU ngcontroller 
sudo -u ngcontroller bash << EOF
cd /opt

# 2. Java 설치
# 2.1. Java Download
sudo wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz"
--2016-04-05 14:38:54--  http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz

# 2.2. 압축 풀고 경로 이동
sudo tar zxf jdk-7u79-linux-x64.tar.gz 

sudo mv jdk1.7.0_79 /usr/share/jdk7

# 2.3. Javac와 jar 설치
sudo alternatives --install /usr/bin/java java /usr/share/jdk7/jre/bin/java 0

sudo alternatives --install /usr/bin/jar jar /usr/share/jdk7/bin/jar 2

sudo alternatives --install /usr/bin/javac javac /usr/share/jdk7/bin/javac 2

sudo alternatives --set jar /usr/share/jdk7/bin/jar

sudo alternatives --set javac /usr/share/jdk7/bin/javac

# alternatives --config java

# 3. Tomcat 설치
# 3.1. Tomcat7 Download
sudo wget http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.50/bin/apache-tomcat-7.0.50.tar.gz
--2016-04-05 14:44:49--  http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.50/bin/apache-tomcat-7.0.50.tar.gz

sudo tar zxf apache-tomcat-7.0.50.tar.gz
sudo mv apache-tomcat-7.0.50  /usr/share/tomcat7

sudo chkconfig --add tomcat7

sudo chown -R ngcontroller:ngcontroller /usr/share/tomcat7/logs
sudo chmod -R u+rw /usr/share/tomcat7/logs


# 4. nGrinder Controller3.3 설치
# 4.1. nGrinder Controller3.3 Download
sudo wget http://downloads.sourceforge.net/project/ngrinder/ngrinder-3.3/ngrinder-controller-3.3.war

sudo cp ngrinder-controller-3.3.war /usr/share/tomcat7/webapps/

# 5. Tomcat Start
sudo service tomcat7 start

EOF


3. nGrinder agent or moniter  설치

# Agent Download
sudo wget -O ngrinder-agent-3.3.tar http://(Controller IP 주소):8080/ngrinder-controller-3.3/agent/download
# 압축 해제
sudo tar xvf ngrinder-agent-3.3.tar
cd ngrinder-agent
# Agent 실행
./run_agent.sh


4. nGrinder Script 사용 방법

  - [TIP][성능측정도구] NHN - nGrinder Oracle 접속 방법(Oracle, OJDBC)

  - [TIP][성능측정도구] NHN - nGrinder MariaDB/MySQL 접속 방법(mysql.jdbc)

Comments