Skip to content

JMeter 설치 및 실행 방법

Seed edited this page Oct 23, 2021 · 2 revisions

JMeter

설치

[JMeter] JMeter 설치 및 사용에 설치 방법을 적어놓았으니 해당 링크를 참조해주세요. 다 읽을 필요없이 실행까지만 읽으면 됩니다. 만약 실행 시 오류가 나는 분들은 링크 아래의 오류 해결법에 관한 글을 읽어주세요.

Mac에서 Homebrew로 설치합니다. Mac이 아니거나 Mac에 무언가를 설치하는 것을 원하지 않는 분은 따로 인터넷을 검색해서 설치해주세요.

테스트 실행

1. JMeter 스크립트 다운로드

JMeter 관련 파일들과 테스트 결과들을 담아놓을 디렉토리를 생성합니다. 저는 ~/Desktop/programming/jmeter 디렉토리를 생성했습니다.

DropTheCode.jmx에서 JMeter 테스트 스크립트를 위의 경로(앞으로 JMETER PATH)에 다운받습니다.

.jmx 파일은 테스트를 진행할 설정들이 담겨있는 파일입니다.

2. JMeter 테스트 실행 스크립트 작성

다음 shell script에서 수정 필요! 라고 되어 있는 부분을 자신의 환경에 맞게 수정하고, JMETER PATH에 해당 쉘 스크립트를 저장합니다.

#!/bin/bash

# 실행
# sh 파일명.sh <jmx 스크립트.jmx> <테스트 환경>
# ex. sh test.sh DropTheCode.jmx was-replDb

# $1 은 test.sh 실행 시 첫 번째 매개수
# jmx 스크립트 파일명
TEST_NAME_WITH_EXTENSION=$1

# 테스트 환경
TEST_CONFIG=$2

# 수정 필요!
# `1. JMeter 스크립트 다운로드`에서 생성한 디렉토리 경로
JMETER_PATH=/Users/kimhyeonsik/Desktop/programming/jmeter

# 확장자를 제외한 파일 이름
# cut : String#split() 이라고 생각하면 편함
#   -f 1 : split 한 후 첫 번째 변수
#   -d '.' : delimiter
TEST_NAME=$(echo $TEST_NAME_WITH_EXTENSION | cut -f 1 -d '.')

cd $JMETER_PATH

# 기존 파일 제거
# 기존 파일들을 보존해야 한다면 기존 파일 이름들을 수정할 것!
rm *.csv
rm -rf $TEST_CONFIG

# -n : Non-GUI 모드로 JMeter 실행
# -t : 부하 테스트를 할 JMeter 스크립트 파일
# -J : JMeter 프로퍼티
# -l : 테스트 결과를 저장할 파일 이름
jmeter -n -t $JMETER_PATH/$TEST_NAME_WITH_EXTENSION -JTEST_CONFIG=$TEST_CONFIG -l integration.csv

mkdir $TEST_CONFIG

# JMETER_PATH에서 csv 파일들을 모두 찾아서 html 파일로 변환
for var in $(ls $JMETER_PATH | grep csv)
do
		# -g : 테스트 결과로 생성된 csv 파일을 이용하여 html 폴더 생성
		# -o : html 파일을 저장할 경로를 설정
		jmeter -g $var -o $TEST_CONFIG/$(echo $var | cut -f 1 -d '.')
done

# 테스트 끝난 후 생성된 결과 파일 제거
rm *.csv
rm jmeter.log

3. 테스트 실행

WAS가 실행 중 임을 먼저 확인하고 쉘 스크립트를 실행합니다.

4. WAS에 대시보드 추가

대시보드를 추가하고 싶은 WAS로 결과 파일을 복사시킨 후 Nginx로 해당 파일을 정적 호스팅합니다.

PT WAS 주소 : http://3.36.203.61/

Nginx가 설치되어 있기 때문에 root(WAS 주소 뒤에 아무것도 없는 주소)로 접속하면 Nginx의 index 페이지가 출력됩니다. 그러므로 따로 WAS를 띄울 필요가 없습니다. Nginx의 index 페이지를 JMeter Dashboard들을 담은 페이지로 변경합니다.

index페이지는 EC2의 /var/www/html 에 존재합니다. 권한 문제 때문에 해당 디렉토리로 바로 옮길 수 없으므로 일단 home으로 이동시킵니다.

# scp -i <pem키 경로> -r <옮길 디렉토리의 경로> <EC2 주소:옮길 경로>
#  -i : 공개키 인증을 위한 Identity 파일 선택
#  -r : 디렉토리를 이동
# 예시
scp -i /Users/kimhyeonsik/desktop/programming/aws/drop-the-code.pem -r /Users/kimhyeonsik/Desktop/programming/jmeter/was-replDb ubuntu@3.36.203.61:/home/ubuntu

그 후 EC2에 접속해서 해당 디렉토리를 /var/www/html 로 이동시킵니다.

# EC2 접속
$ twas 

# sudo mv ~/was-replDb /var/www/html

/var/www/html 폴더에 있는 index.html 을 수정합니다.

그리고 WAS 루트 주소로 접속해보면 메인 페이지가 변경되어있는 것을 확인할 수 있습니다.

스크린샷 2021-10-23 오후 5 42 45

만약 변경되지 않았다면 캐시를 지워봅니다.

번외. 테스트 설정 변경

만약 Duration(테스트를 몇 분 동안 진행할 것인지)과 같은 테스트 설정을 변경하고 싶다면, 터미널에서 JMETER_PATH로 이동 후, jmeter 를 입력합니다.

다음과 같이 JMeter 창에서 열기 버튼을 눌러 jmx 파일을 클릭합니다.

스크린샷 2021-10-23 오후 5 22 38

그 후 각 쓰레드 그룹 혹은 Sampler를 클릭하여 설정을 변경합니다.

설정을 잘 모르겠다면 제일 위의 설치 링크를 참조