Apache JMeter를 활용한 테스트
Summary : Apache JMeter(이하 JMeter)를 다운 받아서 설치하는 과정에 대하여 살펴본다. 설치한 JMeter를 실행하여 TestPlan을 작성해보고 실행 결과를 확인하는 방법에 대하여 살펴본다.
Apache JMeter 소개
하나의 시스템을 개발하기 위해 무수히 많은 단위테스트를 진행하게 된다. 단위테스트를 얼마나 자주, 정교하게 하느냐는 프로젝트의 Quality와 성패가 좌우되는 경우가 많다. 그러나 단위 테스트만으로 모든 프로젝트의 성패가 좌우되는 것은 아니다. 프로젝트의 최종 결과는 각 단위 모듈들을 통합한 다음 통합 테스트할 때 결정된다. 특히 웹 환경과 같이 동시 접속자가 제한되어 있지 않은 환경에서는 더더욱 중요하다.
JMeter는 이와 같이 통합테스트를 진행할 때(물론 단위 테스트 용으로도 가능하다.) 유용하게 사용할 수 있는 순수 Java로 만들어진 테스트 프레임워크이다.
애플리케이션 하나를 오픈하기 전에 실 환경과 같이 테스트할 필요성이 있다. 특히 퍼포먼스에 있어 중요한 애플리케이션일수록 이에 대한 검증은 더더욱 중요하다. JMeter 이처럼 실환경과 같은 테스트가 가능하도록 해주는 Stess 테스트 툴이다. 계속해서 진행되는 강좌를 통하여 JMeter가 어떤 역할을 하는 녀석인지 알 수 있을 것이다.
JMeter에 대한 더 자세한 소개는 |
Apache JMeter 다운 로드 및 설치
JMeter를 설치는 JMeter 바이너리 파일을 다운 받은 다음 실행파일을 시작하면 바로 실행해 볼 수 있다. JMeter 설치에서부터 실행까지 순차적으로 살펴보자.
-
JMeter 다운로드 URL
에서 최신 소스를 다운받는다. - 다운받은 JMeter 바이너리 압축파일을 각자 원하는 위치에 압축을 푼다. 압축을 푼 디렉토리를 JMETER_HOME 디렉토리 생각하고 강좌를 진행하겠다.
- JMETER_HOME/bin 디렉토리의 jmeter.bat파일(Windows 시스템일 경우)을 실행한다. 잠시후에 아래 화면과 같이 SWING으로 만들어져 있는 JMeter화면을 볼 수 있을 것이다. 만약 정상적으로 실행되지 않는다면 JDK가 설치되어 있는지 확인해 보고 JAVA_HOME/bin디렉토리가 Path로 설정되어 있는지 확인해 본다.
JMeter에 설치에 대한 더 자세한 설명은 |
JMeter를 이용한 Test Plan 작성
JMeter를 이용하여 Test Plan을 작성하기 위해서는 먼저 테스트 시나리오가 존재해야 한다. 애플리케이션 요구사항에 따라 작성된 테스트 시나리오에 따라 Test Plan을 작성한 다음 Test Plan을 실행하고 결과를 확인하면 된다.
본 강좌에서 테스트할 시나리오는 다음과 같다. 자바지기 사이트의 메인 페이지에 20명의 개발자가 동시에 접속할 경우의 퍼포먼스를 측정하고 싶다. 또한 20명의 접속자가 장시간 지속적으로 접근한다는 가정하에서 테스트를 진행해보자. 이 강좌는 JMeter를 실행해보는 것에 의의를 가지므로 테스트 시나리오는 최대한 간단하게 작성하였다. 이 테스트 시나리오는 만족하도록 JMeter의 Test Plan을 만들어 보자.
- JMeter 초기화면의 Test Plan 오른쪽 클릭 < Add < Thread Group을 선택한다. Thread Group은 Test Plan에서 사용할 동시접속자수와 반복 횟수등을 지정할 수 있다. 테스트 시나리오에서 테스트할 동시 접속자수는 20명이였으므로 Thread수는 20, Lamp Up 시간은 10으로 설정한다. 반복 횟수는 시간적인 제한이 없었으므로 무한정 반복하는 것으로 설정한다.
- Thead Group에서 오른쪽 클릭 < Add < Sampler < HTTP Request를 선택한다. 테스트 시나리오가 HTTP 프로토콜을 사용하고 있는 자바지기 사이트이므로 Thread Group에 HTTP Request Sampler를 추가하였다. 테스트할 Server 주소는 www.javajigi.net이며 path는 index.html을 입력한다.
- 마지막으로 추가할 구성원은 테스트를 진행한 결과를 볼 수 있는 화면이다. Thead Group에서 오른쪽 클릭 < Add < Listener < Graph Results를 선택한다. Graph Results는 테스트한 결과를 Graph로 확인할 수 있는 Listener이다.
이상으로 JMeter를 이용하여 최소한의 테스트를 진행해 볼 수 있는 Test Plan을 작성하였다. 이 강좌의 주목적이 JMeter를 소개하는 것이기 때문에 가능한한 최소화하여 설명하였다. 좀 더 복잡하고 정교한 Test Plan을 작성하는 방법에 대해서는 JMeter에서 제공하는 User Manual과 자카르타 서울 프로젝트의 User Manual 번역 문서를 참고하기 바란다. 또한 앞에서 사용한 Thread Group, Samples등의 설명 및 용도에 대해서도 User Manual 문서를 통하여 익히기 바란다.
JMeter는 HTTP, FTP, Database, Webservice, LDAP, TCP 등에 대한 기본적인 테스트가 가능하도록 클라이언트 모듈을 제공하고 있다. 물론 이 외에 필요로하는 테스트 기능이 필요하다면 새로운 테스트 기능을 만들어 추가하는 것이 가능하다. JMeter에서 기본적으로 제공하고 있는 각각의 프로토콜에 대한 Test Plan을 작성하는 방법에 대한 자세한 방법은 |
작성한 Test Plan 실행
앞절에서 작성한 Test Plan을 실행하는 방법은 간단하다. JMeter 메뉴의 Run에서 Start를 실행하면 테스트가 진행된다. 진행되는 테스트의 결과는 Graph Results Listener를 통하여 확인할 수 있다.
지금까지 JMeter를 설치한 다음 Test Plan을 작성하고 실행하는 과정에 대하여 살펴보았다. JMeter를 이용하여 실환경과 비슷한 가상의 테스트를 진행할 수 있다는 것이 매력적이지 않은가? 다음 강좌에서는 JMeter에서 기본적으로 지원하지 않는 기능들을 테스트하기 위하여 새로운 테스트 파일을 만드는 방법에 대하여 살펴본다.
강좌에 대하여
작성자 : 박재성
작성일 : 2005년 2월 20일
문서이력 :
- 2005년 2월 20일 박재성 문서 최초 생성
참고 자료
- Apache JMeter 공식 홈페이지 : http://jakarta.apache.org/jmeter
- Apache JMeter 공식 User Manaual : http://jakarta.apache.org/jmeter/usermanual/index.html
- 자카르타 서울 프로젝트 Apache JMeter : http://jakarta.apache-korea.org
- 자카르타 서울 프로젝트 Apache JMeter User Manual: http://jakarta.apache-korea.org/jmeter/usermanual/index.html
출처 : http://www.javajigi.net/pages/viewpage.action?pageId=183