나를 괴롭히는 BMT................ 제대로 한번 알아봅시다.
내가 알고 있는 성능테스트 툴은 Apache ab , nGrinder, Apache JMeter
이번에는 JMeter 를 사용해보련다
1. 설치하기
- JMeter 홈페이지에 가서 JMeter 를 다운로드 받는다
- 링크 : http://jmeter.apache.org/download_jmeter.cgi
- 참고로 나는 apache-jmeter-5.2.1.zip 을 다운받아서 사용함.
2. 실행 - 셋팅하기
- jMeter 설치 디렉토리의 bin 디렉토리 내에 jmeter.bat을 실행하면 프로그램이 뜬다.
- 프로그램이 뜨면 셋팅 짜르르르르르 해야하는데...뭔가 옵션이 너무너무너무너무 많다.............이게 먼가요~~?
기본적으로 ThreadGroup(테스트가 일어나는 루트) 를 먼저 설정 후 각각 추가해줌.
3. 분석하기 (용어정리)
Active User
: 실제 서버에 연결된 상태로 요청을 처리 중인 사용자
InActive User
: 웹브라우저에 결과 화면이 출력된 상태에서 화면의 내용을 읽거나 정보를 입력하고 있는 사용자. 서버와의 세션(Session) 정보를 가지고 있지만 직접 접속하여 요청을 주고받는 상태가 아닌 사용자를 의미
Concurrent User(Active User + InActive User)
: 보통 '동시 접속 사용자수' ,일반적으로 사용자 수의 많고 적음을 표현하는 값으로, 성능 테스트에서 가상 사용자 수를 결정하는 기준이 된다. 서비스 유형과 시간에 따라 그 비율이 달라지긴 하지만, 일반적으로 Active User와 InActive User 비율이 1:10 정도
Virtual User
: 가상 사용자 수로, JMeter에서는 Thread 수로 표현하기도 함
Ramp-Up Period
: Thread(Virtual User) 생성에 걸리는 시간을 의미. Ramp-Up Period를 이해하기 쉽도록 작성한 그래프입니다.
Throughput: 단위 시간당 대상 서버(웹서버, WAS, DB 등)에서 처리되는 요청의 수. JMeter에서는 시간 단위를 보통 TPS(Transaction Per Second)로 표현
Response Time/Load Time
: 응답시간 또는 처리시간이라고 표현. 요청을 보낸 후 응답이 완료되어 사용자 화면에 출력될때까지의 시간을 나타냄. 시스템의 성능을 평가하는 지표로 주로 사용
Latency
: 요청을 보낸 후 데이터를 받기 시작할 때까지 시간
Think Time
: 하나의 요청에 응답을 수신하고 다음 요청을 보낼 때까지 시간을 의미. 테스트에서 실제 사용자의 사용패턴과 유사한 패턴을 구현하기 위해서는 이 Think Time을 적절히 적용해야 합니다.
Request Interval Time
: 요청을 보낸 후 다음 요청을 보낼때까지 시간을 의미
4. 사용해보자
4-1. Thread Group 생성하기
- 이곳에서 Thread Properties 를 조정해가면서 성능 테스트를 할 수 있음
4-2. HTTP Header Manager 셋팅
- 헤더에 필요한 내용을 셋팅, 쿠키 정보 , User-Agent 등을 설정할 수 있다.
4-3. HTTP Request 정보 입력
- 필요한 정보 기입 / 도메인 , URL , 필요한 파라미터 (GET/POST 등등)
4-4. 결과 보기
- View Result Tree , Summary Report, Graph Result 등등으로 성능 측정에 대한 결과를 확인 할 수 있다.
한줄평 >
결과에 대해서 UI 적으로 깔끔하게 보여줘서 좋았고, 기본 적으로 제공하는 기능들의 사용법을 잘 익혀서 활용하면 좋을 것 같다!
'개발' 카테고리의 다른 글
[라라벨] 라라벨 설치 (0) | 2020.09.22 |
---|---|
[파이썬] 파이썬 설치하기 (0) | 2020.09.21 |
[GIT] 자주 사용하는 GIT 명령어 정리 (0) | 2020.02.11 |
[HTML 이미지 캡쳐]html2canvas를 이용한 highcharts 이미지 만들기 (0) | 2018.12.03 |
[MySQL] 데이터베이스, 테이블, 유저 생성 및 권한 부여 (0) | 2017.12.20 |