JMeter
#
Find similar titles
- (rev. 15)
- 백인우
Structured data
- Category
- Programming
JMeter #
JMeter(출처)
소개 #
JMeter는 Apache Software Foundation에서 개발된 어플리케이션으로 부하테스트와 성능측정을 하기 위해 고안되었다. 순수 JAVA로 작성되었으며 원래는 웹 어플리케이션을 위해 설계되었으나 점차 여러 가지 프로토콜과 다양한 성능측정을 위해 기능이 확장되고 있다. 또한 단위/성능/스트레스 테스트 등 많은 곳에서 활용할 수 있다. 프로토콜(Protocol)도 계속 추가되어 TCP, HTTP(S), FTP, JDBC, LDAP, SMTP, SAP/XML, RPC 등 현재 범용으로 사용되는 프로토콜 대부분을 지원한다.
기능 및 성능테스트(출처)
기능 #
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