jmeter

32
JMETER 간단하게 부하 테스트를 해보자

Post on 20-Oct-2014

686 views

Category:

Technology


3 download

DESCRIPTION

JMeter 설정및 사용법 made by 정문철 reviewed by 손영수

TRANSCRIPT

Page 1: JMeter

JMETER간단하게 부하 테스트를 해보자

Page 2: JMeter

학습목표

- JMeter를 사용하여 부하 테스트를 하는 방법을 알아봅니다. !- 테스트 결과를 바탕으로 문제점 파악과 성능 개선을 해 봅니다.

Page 3: JMeter

JMeter란?JMeter란 아파치에서 관리하는 오픈소스중 하나로

Java로 만들어진 데스크탑 어플리케이션입니다. !

사용하는 사용자가 많아 문서도 잘 되어있는 편이고 결과를 직관적으로 잘 보여주면 사용하기 간편합니다.

!JMeter를 사용하여 안전성, 확장성, 부하, 기능등을

테스트해볼 수 있습니다.

Page 4: JMeter

jmeter를 다운받아 줍니다. https://jmeter.apache.org/download_jmeter.cgi

Page 5: JMeter

압축을 풀면 bin-jmeter.sh가 있습니다.

Page 6: JMeter

sudo sh jmeter.sh로 jmeter를 실행시켜줍니다.

Page 7: JMeter

기본 화면이 등장하였습니다!

Page 8: JMeter

TestPlan을 오른쪽 버튼 클릭으로 Thread Group를 생성해줍니다.

Page 9: JMeter

스레드 갯수와 테스트 시간, 반복횟수를 정합니다.

테스트할 사용자의 수(스레드 수)

희망 테스트 시간 (1이면 거의 모든 스레드가 동시 실행)

한 스레드당 반복 횟수

Page 10: JMeter

이번에는 Thread Group에 TCP Sampler를 추가합니다.

Page 11: JMeter

서버 정보와 접속 방식 선택, 보낼 내용을 정합니다.

Close connection체크!

Page 12: JMeter

테스트 결과를 보기 위해서는 Listener가 필요합니다. Thread Group에 View Results Tree를 추가하였습니다.

Page 13: JMeter
Page 14: JMeter

그래프로 보여주는 Spline Visualizer를 Thread Group에 추가하였습니다.

Page 15: JMeter
Page 16: JMeter

중요 지표들을 보여주는 Summary Report를 Thread Group에 추가하였습니다.

Page 17: JMeter

자… 이제 기본적인 설정을 마쳤습니다. (Listener가 오류나 지연의 원인이 되는 경우도 있으니 적당히 추가합시다…)

Page 18: JMeter

테스트 설정을 저장을 하고…

Page 19: JMeter

이제 이때까지 만들어본 서버를 테스트해 보겠습니다.

예전 서버 코드는 깃에서 복구…

Page 20: JMeter

먼저 서버를 실행하고…

Page 21: JMeter

Clean버튼을 누르고 Start버튼을 눌러 테스트를 시작합니다.

Page 22: JMeter

테스트 결과는 그때그때의 서버 상황에 따라 결과가 달리 나옵니다. 이 자료도 정확히 측정 안한 그냥 참고용…

Page 23: JMeter

Reactor Single Thread

Throughput은 600정도에 Error는 9정도가 나왔습니다.

Page 24: JMeter

Reactor Thread Per

Throughput은 1300정도에 Error는 2정도가 나왔습니다.

Page 25: JMeter

Nio Proactor

Throughput은 1000정도에 Error는 4.8정도가 나왔습니다?!

Page 26: JMeter

가장 성능이 좋아야 할 것 같았던 nio Proactor 서버가 별로 결과가 좋지 않았습니다…

Page 27: JMeter

View Results Tree를 보니 Connection reset by peer가 적혀있습니다.

Page 28: JMeter

사실 문제가 있는 특정 부분을 명확히 알려주는 에러 메시지는 아니지만 스레드풀과 backlog가 의심스럽습니다.

Page 29: JMeter

스레드와 backlog갯수를 막 올려봤습니다…

Page 30: JMeter

스테드 갯수를 올리고 다시 테스트를 해보니 Throughput은 1800정도에 Error는 0이 나왔습니다.

Page 31: JMeter

이런 식으로 몇 번을 반복하면서 적당한 스레드 개수를 측정하며

!

계속 개선 작업을 합니다. !

(이 외에도 튜닝 방법은 엄청 많습니다…)

Page 32: JMeter

http://wiki.javajigi.net/pages/viewpage.action?pageId=183 !http://verystrongjoe.tistory.com/19 !http://blog.naver.com/blueday9404?Redirect=Log&logNo=110181703656 !http://www.codeigniter-kr.org/lecture/view/289