IT/개발

Apache JMeter를 이용한 간단한 성능 테스트

jeces1 2024. 4. 12. 12:34
반응형

Apache JMeter란 무엇인가?

Apache JMeter는 웹사이트, API, 웹 서비스 등 다양한 시스템의 성능 및 부하 테스트를 위한 오픈 소스 도구입니다. 100% Java 기반으로 개발되어 플랫폼 독립성을 가지고 있으며, 다양한 기능을 통해 사용자 정의가 가능한 테스트를 수행할 수 있습니다.

JMeter의 주요 특징

  • 다양한 프로토콜 지원: HTTP, HTTPS, FTP, JDBC, LDAP 등 다양한 프로토콜을 지원하여 다양한 시스템을 테스트할 수 있습니다.
  • 부하 테스트: 여러 사용자가 시스템에 동시에 접속했을 때의 성능을 테스트하여 시스템의 한계점을 파악할 수 있습니다.
  • 성능 테스트: 시스템의 응답 시간, 처리량, 오류율 등을 측정하여 시스템의 성능을 분석할 수 있습니다.
  • 사용자 정의 가능: 다양한 샘플러, 리스너, 테스트 플랜을 사용하여 사용자 정의 테스트를 수행할 수 있습니다.

JMeter를 이용한 간단한 성능 테스트 방법

  1. JMeter 설치:

https://jmeter.apache.org/download_jmeter.cgi

 

Apache JMeter - Download Apache JMeter

Download Apache JMeter We recommend you use a mirror to download our release builds, but you must verify the integrity of the downloaded files using signatures downloaded from our main distribution directories. Recent releases (48 hours) may not yet be ava

jmeter.apache.org

  1. JMeter는 Apache JMeter 공식 웹사이트에서 다운로드하여 설치할 수 있습니다.

   2. CMD apache-jmeter Bin폴더로

 이동 후 Jmeter 입력

1. Test Plan 우클릭 후 Add -> Thread(User) -> Thread Group

아래 필요한 정보 입력

Number of Threads (스레드 수): 동시에 실행될 가상 사용자 수를 의미합니다. 숫자로 입력하며, 값이 클수록 더 많은 가상 사용자가 테스트에 참여하게 됩니다. 예를 들어, 100이라고 입력하면 100명의 가상 사용자가 동시에 테스트를 수행하게 됩니다.

Ramp-up Period (램프업 기간): 모든 가상 사용자가 테스트에 참여하는 데 걸리는 시간을 의미합니다. 초 단위로 입력하며, 값이 클수록 모든 가상 사용자가 테스트에 참여하는 데 더 오랜 시간이 걸립니다. 예를 들어, 60이라고 입력하면 60초 동안 점진적으로 가상 사용자를 추가하여 100명의 가상 사용자가 모두 테스트에 참여하게 됩니다.

Loop Count: Infinite (루프 카운트: 무한): 각 가상 사용자가 테스트를 반복하는 횟수를 의미하며, Infinite는 가상 사용자가 테스트를 종료할 때까지 반복적으로 수행한다는 의미입니다. 즉, 테스트가 강제로 종료되지 않限り 계속해서 테스트를 수행하게 됩니다.

2. Thread Group 우클릭 후 Add -> Sampler -> Http Request

Server Name or IP, Port Number, Http Request 입력 후 Add

3. Thread Group 우클릭 후 Add -> Listener-> 얻을 수 있는 View 생성

4. Thread Group 우클릭 후 Add -> Assertions -> Response Assertion

-Text Response Add 클릭 후 Patterns to Test에 입

 

5. Jmeter 실행 후 아까 만들어 놓은 View클릭 후 테이블 확인

 

 

JMeter 활용 예시

  • 웹사이트의 로그인 기능 부하 테스트
  • 온라인 스토어의 결제 기능 성능 테스트
  • API의 응답 시간 테스트

JMeter의 장점

  • 무료 오픈 소스 도구
  • 다양한 기능 및 확장성
  • 사용자 정의 가능
  • 다양한 플랫폼 지원

JMeter의 단점

  • GUI 사용 인터페이스가 다소 복잡
  • 초보자에게는 학습 곡선이 가파를 수 있음
반응형