이번주차는 JMeter를 사용하는 방법에 대해 알아보자.
성능측정 및 부하 테스트 기능을 제공하는 오픈소스 애플리케이션이다.
다양한 형태의 테스트를 지원한다.
CLI 지원
주요 개념
테스트 성능측정을 위한 오픈소스로 Gatling, NGrinder등의 애플리케이션이 존재한다.
JMeter를 다운로드받는다.
홈페이지에서 다운로드 받을 수 있다.
압축파일을 해제하면 bin 디렉토리 아래 실행할 수 있는 파일이 있다.
실행화면
실행 시 주의할 점이 있다.
운영용 애플리케이션이 구동되는 서버에서 JMeter를 돌리면 리소스를 애플리케이션과 JMeter가 같이 먹기 때문에 제대로된 성능테스트를 진행할 수 없다.
때문에 성능테스트를 진행할 때는 다른 환경에서 진행해야한다.
새로운 테스트 플랜은 만들고 저장한다.
Thread Group을 추가한다.
Thread Group에서 다음과 같은 설정이 있다.
- Number of Therads : 쓰레드의 개수(유저의 개수)를 설정
- Ramp-up period : 쓰레드(유저)를 몇초안에 만들것인지.
- Loop Count : 요청 반복횟수
이제 유저가 수행할 동작인 Sampler를 만든다.
수행 결과를 확인할 Listener를 만든다.
애플리케이션이 구동된 상태로 JMeter를 실행하면 다음과 같이 Listener에 결과가 나온다.
한가지 특이한점을 확인하면 첫번째 요청이 오래걸린다.
이는 서블릿 인스턴스가 처음 만들어지면서 시간이 오래걸린다.
성공하는 경우
실패하는 경우
위에서 만든 파일을 대상으로 JMeter에 옵션을 주고 CLI로 실행할 수 있다.
// -n : UI를 사용하지 않음
// -t : JMeter에 대한 설정 (위에서 만든 파일)
./jmeter -n -t ./Study\ Perf\ Test.jmx
BlazeMeter와 같은 Chrome App으로 클릭에 대한 이벤트를 녹화하여 JMeter 파일로 만드는 것도 가능하다.