JMeter 원격 테스트 설정
JMeter Remote
환경
로컬호스트 (MacOS, Jmeter GUI) -> AWS Bastion -> Jmeter Server (AWS LINUX)
Prerequisite
JDK 설치
JDK 1.8.0으로 설치해야한다. 상위 버전에서는 JNI 오류가 발생한다.
서버
# JDK 설치sudo suyum install java-1.8.0-openjdkexit
MacOS
brew tap homebrew/cask-versionsbrew install temurin8
IP 허용 (서버)
sudu suiptables -A INPUT -p udp -m udp --dport 1099 -j ACCEPTiptables -A INPUT -p tcp -m tcp --dport 1099 -j ACCEPTiptables -A INPUT -p udp -m udp --dport 50000 -j ACCEPTiptables -A INPUT -p tcp -m tcp --dport 50000 -j ACCEPTiptables -A INPUT -p udp -m udp --dport 51000 -j ACCEPTiptables -A INPUT -p tcp -m tcp --dport 51000 -j ACCEPTexit
Jmeter Server 설정
Jmeter 설치
wget https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.4.3.zipunzip ./apache-jmeter-5.4.3.zip -d ./jmetermv -f ./jmeter/apache-jmeter-5.4.3/* ./jmeterrm -rf ./jmeter/apache-jmeter-5.4.3/
jks 생성 (Optional)
# 실행~jmeter/bin/create-rmi-keystore.sh# 출력What is your first and last name?[Unknown]: rmi # 키 AliasWhat is the name of your organizational unit?[Unknown]: <UNIT>What is the name of your organization?[Unknown]: <ORG>What is the name of your City or Locality?[Unknown]: <CITY>What is the name of your State or Province?[Unknown]: <STATE>What is the two-letter country code for this unit?[Unknown]: <82>Is CN=rmi, OU=fitpet, O=fitpet, L=Seoul, ST=Seoul, C=82 correct?[no]: yesEnter key password for <rmi>(RETURN if same as keystore password):Re-enter new password:Warning:The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore rmi_keystore.jks -destkeystore rmi_keystore.jks -deststoretype pkcs12".Copy the generated rmi_keystore.jks to jmeter/bin folder or reference it in property 'server.rmi.ssl.keystore.file'# 키 검증keytool -list -keystore rmi_keystore.jks
서버 설정 편집
<JMETER_ROOT>/bin/jmeter.properties
server.rmi.localport=50000 # JMeter 서버 엔진 포트. 변경시 설정, 기본값은 4000, 사용 안하면 랜덤 포트 사용server.rmi.ssl.disable=true # SSL 키를 사용하지 않으려면 설정# server.rmi.port=1099 # 서버 접근 포트. 기본값은 1099# 다음 설정은 SSL 키를 사용할 때 설정# server.rmi.ssl.keystore.type=JKS # 키 타입. 기본값은 JKS. PKCS12 설정 가능# server.rmi.ssl.keystore.password=<PASSWORD> # 키 비밀번호를 정했다면 설정# server.rmi.ssl.keystore.alias=<ALIAS> # 키 Alias
JMeter 서버 시작
# 실행<JMETER_ROOT>/bin/jmeter-server# 출력Using local port: 50000Created remote object: UnicastServerRef2 [liveRef: [endpoint:[<IP ADDRESS>:50000](local),objID:[-2cf0b695:17e52c766bc:-7fff, -7816885528712838043]]
JMeter Client 설정
포트 포워딩
localhost:52000
-><Jmeter Server>:1099
localhost:51000
-><Jmeter Server>:51000
localhost:50000
-><Jmeter Server>:50000
클라이언트 설정 편집
<JMETER_ROOT>/bin/jmeter.properties
remote_hosts=127.0.0.1:52000client.rmi.localport=51000server.rmi.ssl.disable=true
환경 변수 설정
export JVM_ARGS="-Djava.rmi.server.hostname=localhost"
JMeter 실행
<JMETER_ROOT>/bin/jmeter