Tech Story/Perf*Monitoring

Web Perf & Monitoring(8) - Jmeter JMX

슈퍼맨짱 2019. 10. 8. 12:00

Web Perf & Monitoring(1) -  기본환경 & Grafana 설치

Web Perf & Monitoring(2) - InfluxDB 설치

Web Perf & Monitoring(3) - Grafana & InfluxDB Datasource 설정

Web Perf & Monitoring(4) - Telegraf 설치

Web Perf & Monitoring(5) - InfluxDB Database생성

Web Perf & Monitoring(6) - Grafana Host Dashboard 생성

Web Perf & Monitoring(7) - Grafana Jemter Dashboard 생성

Web Perf & Monitoring(8) - Jmeter JMX

 

 

OS  : Ubuntu 18.0.4.3 Desktop

Grafana : grafana_6.4.1_amd64

InfluxDB : influxdb_1.1.1+dfsg1-4_amd64

Telegraf : telegraf_1.12.2-1_amd64

Jmeter : JMX apache-jmeter-5.1.1

 


1. Java버전확인 및 설치

java -version

sudo apt-get install default-jre -y

 

2. Jmeter download & 설치 & 실행

Web : http://jmeter.apache.org/download_jmeter.cgi 접속후 apache-jmeter-5.1.1.zip download 후

zip을 풀고 jmeter 실행

Jmeter 성능테스트 참고 ebook

jmeter_ebook.pdf
1.39MB

cd download

cd apache-jmeter-5.1.1/bin

ls -al

./jmeter

 

 

Plug-in jar 다운로드 및 복사 (lib & lib/ext 디렉토리에 복사)

jmeter-plugins-common-io-0.2.jar
0.01MB
jmeter-plugins-cmn-jmeter-0.4.jar
0.19MB
JMeter-InfluxDB-Writer-plugin-1.2.jar
3.16MB
jmeter-plugins-casutg-2.5.jar
0.07MB

 

cd apache-jmeter-5.1.1/lib

sudo cp ~/*.jar .

cd ext

sudo cp ~/*.jar .

 

 

 

3. 웹사이트 부하테스트 설정

1) Thread Group 설정 :

오른쪽 마우스 --> Add --> Thread(user) --> Thread Group

부하를 주기 위한 기본 Base 설정

 

Number of Threads (users) : 1 은 1개의 Thread를 생성

Loop Count : 10은 10번씩 Test Plan을 반복하라는 의미

1명 x 10번 = 10회, Threads (user)를 10이면 10명이라는 의미

 

2) Config Element 구성 (부하를 주고자 하는 웹사이트 기본 설정)

Thread Group선택 -> 마우스 오른쪽 -> Add -> Config Element -> HTTP Request Defaults 선택

Protocol : http (웹사이트 접속 프로토콜)

IP : 웹사이트 주소 (도메인으로 해도됨 ex.www.naver.com)

Port Number : 80 or 8080 or anything(실제 웹사이트 접속시 포트번호, http는 대부분 default 80 Port임)

 

3) Http Request Sampler 구성 : 실제 웹사이트의 여러 URL을 등록

 

Method : GET

Path : /main_phone.do (상기 Config Element 구성에서 설정한 웹사이트의 상세 페이지 또는 메뉴명) 

Http Request Sampler를 여러개 등록하여 한번에 테스트 함

하기와 같이 파라미터 셋팅도 가능함

검색시 검색의 키워드를 함께 보내어 결과값을 Return도 가능함

 

4) Backend Listener 설정 : 실제 데이터 측정된 값을 원격의 InfluxDB에 저장하는 셋팅

 

Backend Listener implementation --> influxdb 선택

influxdbUrl : http://influxDB IP address: Port번호/write?db=jmeter(database)&u=telegraf(User)&p=telegraf(Password)

5) 부하테스트 결과보기

6) 부하주기

상단메뉴 아이콘중 ▶클릭 or 상단메뉴 -> Run -> Start or Ctrl + R

Jmeter 부하상태에서 Grafana결과화면
Jmeter 부하상황시 InfluxDB Web 접속 로그 및 Jmeter Log


4. Maven설치 및 기본 연동을 위한 jar설치

 

1) Maven설치

sudo apt-get install maven

mvn -version

2) Jar download & installation

jmeter-plugins-common-io-0.2.jar
0.01MB
jmeter-plugins-cmn-jmeter-0.4.jar
0.19MB
JMeter-InfluxDB-Writer-plugin-1.2.jar
3.16MB
jmeter-plugins-casutg-2.5.jar
0.07MB

 

 

3) jar화일을 maven install:install-file 을 이용하여 install

sudo mkdir -p ~/jmeter/lib

sudo cp *.jar ~/jmeter/lib

cd /jmeter

 

mvn install:install-file -Dfile=./lib/jmeter-plugins-common-io-0.2.jar -DgroupId=jmeter -DartifactId=jmeter-plugins-common-io-0.2 -Dpackaging=jar -Dversion=0.2
mvn install:install-file -Dfile=./lib/jmeter-plugins-cmn-jmeter-0.4.jar -DgroupId=jmeter -DartifactId=jmeter-plugins-cmn-jmeter-0.4 -Dpackaging=jar -Dversion=0.4
mvn install:install-file -Dfile=./lib/jmeter-plugins-casutg-2.5.jar -DgroupId=jmeter -DartifactId=jmeter-plugins-casutg-2.5 -Dpackaging=jar -Dversion=2.5
mvn install:install-file -Dfile=./lib/JMeter-InfluxDB-Writer-plugin-1.2.jar -DgroupId=jmeter -DartifactId=JMeter-InfluxDB-Writer-plugin-1.2 -Dpackaging=jar -Dversion=1.2

 

a