카테고리 없음

Jmeter 사용법 정리

개발 공주 2023. 8. 8. 23:09
728x90

JMeter를 사용하기 전에 알아야 하는 개념에 대해 살펴보자.

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

 

  1. 부하 테스트 설정

1) Use Defined Variables 추가

Test Plan 우클릭 -> Add -> Config Element -> User Defined Variables 클릭

 

2) 사용 변수 세팅

하단 Add 버튼으로 추가해가면서 사용할 변수들을 설정해놓는다.

  • erver_addr : 서버(EC2 인스턴스 ) IP 주소
  • server_port : 80 (http)
  • user_number : 100명의 사용자
  • time_sec : 1초 동안
  • loop_cnt : 5회 접속

위 내용을 토대로 시나리오를 제작하면 된다.

100명의 사용자가 1초동안 5회 접속 으로 설정하게 된다면

100명이 1초안에 접속하고 5회동안 실행하게 되니까

동시접속을 500명이라고 봐도 되겠다.

 

3) Transaction Per Second 추가

테스트 결과를 그래프로 확인 할 수 있다.

 

4) Thread Group 추가 및 설정

5) Http Request 추가 설정(웹)

  • Thread Group 메뉴에 우클릭 -> Add -> Sampler -> HTTP Request

Basic 탭 설정

원하는 API에 요청에 대한 세팅을 할 수 있다.

EX) URL, PATH, Request Parameter …///

Advanced 탭 설정 HttpClient4 : HttpClient4는 최신의 HTTP 클라이언트 라이브러리

  • 인증, 쿠키 관리, 리다이렉션 처리 등과 같은 고급 기능을 사용할 수 있다.
  • HttpClient4는 더 효율적인 커넥션 관리를 제공. 커넥션 풀링을 사용하면 동일한 호스트로의 여러 요청을 더 빠르게 처리할 수 있으며, 리소스를 더 효과적으로 활용

6) Summary Report 추가

  • Http Request 우클릭 -> Add -> Listener -> Summary Report 클릭
  • View Results에 대한 통계를 제공합니다.

7) View Results Tree 추가

  • Http Request 우클릭 -> Add -> Listener -> View Results Tree 클릭
  • 리퀘스트의 테스트 시작 시간, 응답 속도 등 다양한 정보들 제공

8) 테스트 실행

  • 실행 버튼 클릭으로 테스트 실행

  1. 트랜젝션(Transaction) : Request + Response 가 하나의 트랜젝션을 이룬다. ( 사용자 수 <= 트랜젝션 수 )
    1. 화면 조작을 통한 Request발생 ~ Response를 받기까지의 동작을 의미
  2. TPS(Transaction Per Sec)
    1. 1초에 처리할 수 있는 트랜젝션 수를 의미하며 성능 테스트의 중요한 지표
  3. 응답시간(Response Time) : 사용자가 요청을 보낸 시점부터 결과가 보여지기까지 시간
    1. Request~최종화면 표시까지 걸리는 시간이며 영향을 주는 변수들이 많아 지표로서는 좋지 않으나, 사용자들이 직접 체감하는 지표이므로 같이 측정을 해 준다.
  4. Active User : 실제 서버에 연결된 상태로 요청을 처리 중인 사용자
  5. Inactive User : 웹브라우저에 결과 화면이 출력된 상태에서 화면의 내용을 읽거나 정보를 입력하고 있는 사용자
  6. Concurrent User : 특정 시점에 시스템에 접속하여 사용하고 있는 사용자
    1. Concurrent User = Active User + Inactive User
  7. Virtual User : 가상 사용자 수, Apache JMeter에서는 Thread 수로 표현하기도 함
  8. Response Time/Load Time : 응답시간 또는 처리시간, 요청을 보낸 후 응답이 완료되어 사용자 화면에 출력될 때까지의 시간
  9. Latency : 요청을 보낸 후 데이터를 받기 시작할 때까지 시간
  10. Think Time : 하나의 요청에 응답을 수신하고 다음 요청을 보낼 때까지 시간
  11. Request Interval Time : 요청을 보낸 후 다음 요청을 보낼 때까지 시간
  12. Ramp-Up Period : Thread 생성에 걸리는 시간
  13. Transaction : 업무 처리의 단위, 화면 조작 및 응답을 트랜잭션으로 정의
  14. Throughput :단위 시간당 대상 서버에서 처리되는 요청의 수, Apache JMeter에서는 시간 단위를 보통 second로 함.