JMeter 성능 테스트 사용법 알아보기

devdo·2022년 10월 21일
0

APM

목록 보기
1/1

웹개발을 하는 데 개발 성능 테스트를 하는 도구를 알아보는 중 오픈소스로 유명한 도구를 찾고 있었다.

관련 도구로는,
1. LoadRunner ( 성능테스트 왕좌, 기업 단위 )
2. Locust (개발자 단위)
3. nGrinder ( 국내 오픈소스 )
4. JMeter ( 아파치 재단에서 LoadRunner를 따라잡이 위해 만든 오픈소스 )

그중에 가장 대중적으로 알려진 JMeter를 알아볼려고 한다.


주요 개념

  • Thread Group: 몇 개의 쓰레드가 동시에 요청을 보내는 지
  • Sampler: 어떤 유저가 해야 하는 액션
  • Listener: 응답을 받았을 때 어떤 동작을 취하는 지 (검증, 리포트, 그래프 그리기 등)
  • Configuration: Sampler 또는 Listener가 사용할 설정 값 (쿠키, JDBC 커넥션 등)
  • Assertion: 응답 결과의 성공 여부를 판단하는 조건 (응답 코드, 본문 내용 등)

설치

  1. 사전에 Java 8 이상 설치가 꼭 필요

  2. JMeter 다운로드 및 설치(Binaries로 다운받아야!)
    http://jmeter.apache.org/download_jmeter.cgi

  3. JMeter 실행

  • JMeter 압축을 푼 폴더 내 bin/jmeter.bat 파일 더블클릭
    (/Desktop/apache-jmeter-5.5/bin/jmeter.bat)
  1. JMeter Plugins 설치 - Transactions Per Second
    https://jmeter-plugins.org/?search=jpgc-graphs-basic 
  • Download Version :아래 2.0 부분 클릭해서 다운로드 후 압축 해제
  • 압축 해제 후 jar 파일들을 /Desktop/apache-jmeter-5.4.1/lib/ext/ 폴더안에 넣는다
  • JMeter 재실행 후 왼쪽메뉴영역에서 Test Plan 우클릭으로 jp@gc 관련 플러그인이 잘 포함되었는지 확인


사용법

처음에는, 부하테스트를 하기 위한 설정을 해주어야 한다.
처음 아이콘 > Add > Threads(Users) > Thread Group이 그 설정을 해줄 수 있다.

Test plan을 우클릭 한 후 Thread Group을 추가한다.

1) Number of Threads(users) - 몇 개의 쓰레드(유저 수)로 테스트할 지를 말한다. 물론 엄밀히 따졌을 때 스레드의 개수가 유저의 활동을 전부 포함할 수는 없겠지만 근사하게는 값을 도출시킬 수 있다. 스레드 수가 많을수록 서버는 많은 부하를 받을 것이다.

2) Ramp-up Period(in seconds) - {Number of Thread} 만큼의 쓰레드를 몇초에 걸쳐서 만들 지를 의미한다.

3) Loop Count - 요청을 반복하고자 하는 횟수, Infinite를 누르면 무제한으로 실행하게 된다.


최종적으로는 다음과 같은 Test Plan 상태로 만들어주면 된다.

  • Thread Group
    - Http Request
  • HTTP Request Defaults
  • Http Header Manager
  • jp@gc - Transactions per Second
  • Summary Report
  • View Results Tree

Http Request 여기서
GET, POST방식 등의 Http Request api를 만들어 주는 곳이다.

HTTP Request Defaults는 해주면 좋은 것!
미리 Method 방식과 IP주소, Port번호를 디폴트로 해줄 수 있다.

Http Header ManagerAdd > Config Element 위치에 있다.
보통 Authorization 값을 default 할때 많이 사용한다.

✅ 이런 설정들은 TestPlain을 저장하는 것이고 이를 저장하면 .jmx확장자로 저장된다.

GET

1) Thraed Group Add
Thraed Group > Http Request 추가

POST

💥 주의!
POST방식으로 할려면 반드시 HTTP Header Manager Add해주고
Content-Type => application/json을 기입해주어야 한다.



참고

profile
배운 것을 기록합니다.

0개의 댓글