Skip to content

JMeter #
Find similar titles

Structured data

Category
Programming

JMeter #

Image

JMeter(출처)

소개 #

JMeter는 Apache Software Foundation에서 개발된 어플리케이션으로 부하테스트와 성능측정을 하기 위해 고안되었다. 순수 JAVA로 작성되었으며 원래는 웹 어플리케이션을 위해 설계되었으나 점차 여러 가지 프로토콜과 다양한 성능측정을 위해 기능이 확장되고 있다. 또한 단위/성능/스트레스 테스트 등 많은 곳에서 활용할 수 있다. 프로토콜(Protocol)도 계속 추가되어 TCP, HTTP(S), FTP, JDBC, LDAP, SMTP, SAP/XML, RPC 등 현재 범용으로 사용되는 프로토콜 대부분을 지원한다.

Image

기능 및 성능테스트(출처)

기능 #

JMeter는 다음과 같은 다양한 서버와 프로토콜에 대해 부하와 성능을 측정할 수 있다.

  • Web - HTTP, HTTPS
  • SOAP / REST
  • FTP
  • JDBC를 사용하는 Database
  • LDAP
  • JMS를 사용하는 MOM(Message-oriented middleware)
  • 메일(Mail) - SMTP, POP3 and IMAP
  • MongoDB (NoSQL)
  • Native commands 나 쉘 스크립트
  • TCP

주요 용어 및 개념 #

  • Active User : 실제 서버에 연결된 상태로 요청을 처리 중인 사용자를 의미
  • InActive User : 웹브라우저에 결과 화면이 출력된 상태에서 화면의 내용을 읽거나 정보를 입력하고 있는 사용자이며, 서버와의 세션(Session) 정보를 가지고 있지만 직접 접속하여 요청을 주고받는 상태가 아닌 사용자를 의미
  • Concurrent User(Active User + InActive User) : 보통 '동시 접속 사용자수'라고 표현합니다. 일반적으로 사용자 수의 많고 적음을 표현하는 값으로, 성능 테스트에서 가상 사용자 수를 결정하는 기준
  • Virtual User : 가상 사용자 수로, JMeter에서는 Thread 수로 표현
  • Ramp-Up Period : Thread(Virtual User) 생성에 걸리는 시간을 의미
  • Throughput : 단위 시간당 대상 서버(웹서버, WAS, DB 등)에서 처리되는 요청의 수를 말하며, JMeter에서는 시간 단위를 보통 TPS(Transaction Per Second)로 표현
  • Response Time/Load Time : 응답시간 또는 처리시간이라고 표현. 요청을 보낸 후 응답이 완료되어 사용자 화면에 출력될때까지의 시간을 나타내며 시스템의 성능을 평가하는 지표로 주로 사용
  • Latency : 요청을 보낸 후 데이터를 받기 시작할 때까지 시간
  • Think Time : 하나의 요청에 응답을 수신하고 다음 요청을 보낼 때까지 시간을 하며. 테스트에서 실제 사용자의 사용패턴과 유사한 패턴을 구현하기 위해서는 이 Think Time을 적절히 적용
  • Request Interval Time : 요청을 보낸 후 다음 요청을 보낼때까지 시간을 의미

테스트 기능 #

JMeter는 다음과 같은 테스트 기능을 갖는다.

  • 웹 사이트 접속 가능 테스트 기능
  • 부하 테스트 기능
  • Response Assert 테스트 기능
  • Duration Assert 테스트 기능
  • Size Assert 테스트 기능

지원환경 #

  • JVM이 지원되는 모든 환경에서 설치 및 구동 가능
  • JDK 1.6이상 필요
  • 지원 OS
    • UNIX : 32/64 bit
    • Linux : 32/64 bit
    • Mac OS X : 32/64 bit
    • Windows : 32/64 bit, Windows XP, Windows 7

참고 #

0.0.1_20140628_0