체인의정석

mac에서 Jmeter 설치 및 사용해서 api 테스트해보기 본문

개발/backend

mac에서 Jmeter 설치 및 사용해서 api 테스트해보기

체인의정석 2024. 2. 13. 19:26
728x90
반응형

API 테스트 및 성능 테스트를 위해 Jmeter를 사용해봤다.

설치하기

1. java설치 - m2칩이라 그런지 터미널 설치가 어려워 아래 경로대로 설치

https://for-data-science.tistory.com/97

 

[3초 해결] M2 JDK(Java Developer Kit) 설치 방법

코드를 짜다 보면 Java를 설치해야 하는 상황이 오는데, 비록 간단하긴 하지만 이것도 미래의 나를 위해 남겨둔다. 오픈소스도 있고, 오라클 것도 있는데 나는 M2칩에 대한 JDK를 제공하는 Oracle Java

for-data-science.tistory.com

java -version
java version "21.0.2" 2024-01-16 LTS
Java(TM) SE Runtime Environment (build 21.0.2+13-LTS-58)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.2+13-LTS-58, mixed mode, sharing)

https://www.oracle.com/kr/java/technologies/downloads/#jdk21-mac
m2칩은 macos - arm - dmg파일로 설치

 

Download the Latest Java LTS Free

Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.

www.oracle.com

2. jmeter설치 - 아래블로그 참고해서 설치
https://jie0025.tistory.com/539

 

성능테스트 도구 JMeter란? 설치(MacOS, M1)

✅ Apache JMeter Apache JMeter는 Apache Software Foundation에서 개발되었다. 오픈소스 로드 테스팅 툴로 다양한 성능 테스팅이 가능하다. * (웹서버, DB, FileSystem 등 서비스/프로토콜에 대한 테스팅) ✅ 왜 JMete

jie0025.tistory.com

bin % ls
ApacheJMeter.jar		heapdump.cmd			jmeter.bat			report-template			threaddump.cmd
BeanShellAssertion.bshrc	heapdump.sh			jmeter.properties		reportgenerator.properties	threaddump.sh
BeanShellFunction.bshrc		jaas.conf			jmeter.sh			saveservice.properties		upgrade.properties
BeanShellListeners.bshrc	jmeter				jmeterw.cmd			shutdown.cmd			user.properties
BeanShellSampler.bshrc		jmeter-n-r.cmd			krb5.conf			shutdown.sh			utility.groovy
create-rmi-keystore.bat		jmeter-n.cmd			log4j2.xml			stoptest.cmd
create-rmi-keystore.sh		jmeter-server			mirror-server			stoptest.sh
examples			jmeter-server.bat		mirror-server.cmd		system.properties
hc.parameters			jmeter-t.cmd			mirror-server.sh		templates
chohk@johyeongiui-MacBookPro bin %

마지막 여기서 실행명령어를 sh가 아닌 그냥 jmeter사용

bin % jmeter
WARNING: package sun.awt.X11 not in java.desktop
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
================================================================================
Don't use GUI mode for load testing !, only for Test creation and Test debugging.
For load testing, use CLI Mode (was NON GUI):
   jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
& increase Java Heap to meet your test requirements:
   Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file
Check : https://jmeter.apache.org/usermanual/best-practices.html
================================================================================
2024-02-13 19:22:11.303 java[22176:3004201] *** WARNING: References to Carbon menus are disallowed with AppKit menu system on macOS 14 and newer. Use instances of NSMenu and NSMenuItem directly instead. See https://developer.apple.com/documentation/macos-release-notes/appkit-release-notes-for-macos-14#Menus
2024-02-13 19:22:14.634 java[22176:3004201] WARNING: Secure coding is automatically enabled for restorable state! However, not on all supported macOS versions of this application. Opt-in to secure coding explicitly by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState:.

뜨는 오류문구는 무시해도 되는데 jdk8을 사용하면 안뜬다고는 한다. 

https://stackoverflow.com/questions/57423412/how-to-fix-warning-package-sun-awt-x11-not-in-java-desktop-in-jmeter-while-ex

 

How to fix 'WARNING: package sun.awt.X11 not in java.desktop' in jmeter while executing in Non Gui mode in Mac terminal?

I'm trying to run my test through non gui mode. But it throws the warning in my Mac terminal.

stackoverflow.com

사용하기

1. 실행후 나오는 화면 - options plugin manager

플러그인 설치 => 3 BasicGraph, JMeterListenerPack, HTTP raw request 설치

 

https://hojun-dev.tistory.com/entry/JMeter-API-%ED%85%8C%EC%8A%A4%ED%8A%B8-%EB%B0%8F-TPS-%EC%B8%A1%EC%A0%95%ED%95%98%EA%B8%B0

 

JMeter로 API 테스트 및 TPS 측정하기

개요 API의 성능을 테스트하기 위해 JMeter를 이용하여 API를 테스트해 보고, 추가로 TPS를 구하는 방법에 대해 알아보자. JMeter 설치는 아래 포스팅에서 확인할 수 있다. https://hojun-dev.tistory.com/entry/JM

hojun-dev.tistory.com

위 블로그 참고하여 Thread Group 추가 및 view Results Tree, summaryReport 추가

이후 HTTP Request 누르고 호출하고자 하는 api 쓴 후 초록색 화살표 클릭

이후 summary report를 눌러보면 여기서 TPS나 응답 시간 등을 모두 측정할 수 있다.

728x90
반응형
Comments