우리 서비스는 웹서버와 미디어서버의 성능테스트를 진행하기 위해 스트리밍에 대한 성능테스트도 지원하고 설치와 사용법이 간단한 JMeter를 사용해 성능 테스트를 진행하기로 결정해서 정리해놓는다.
1. JMeter란
JMeter 는 Java Application 도구로서 기능의 부하테스트 및 측정을 지원한다.
2. 설치방법 - windows 10기준
http://jmeter.apache.org/download_jmeter.cgi
2-1) 해당 링크로 들어가서 윈도우이므로 zip 파일을 다운받은 후 압축을 해제한다.
2-2) JMeter에서 자주 사용하는 plugin 설치
https://jmeter-plugins.org/wiki/ResponseTimesOverTime/
download 클릭
버전 클릭 후 압축풀기
https://jmeter-plugins.org/wiki/PluginsManager/
jar 파일 다운로드
압축파일을 모두 압축을 풀어줬다면 (jar 파일 제외)
이런식으로 다운로드 폴더에 있을것이다. 경로를 따로 변경해주지 않았다면
압축을 풀어준 apache-jmeter-5.5 폴더에 들어가서 lib -> ext 폴더 안에 방금전에 설치했던
jmeter-plugins-manager와 cmn-jmeter의 jar 파일을 옮겨준다 .
jpgc-graphs-basic-2.0 > lib > ext 안에 있다. jar 파일
그 이후에 jmeter.bat 파일을 실행해준다. 경로는 사진과 같다.
나온 검정화면은 끄지말고
test case를 작성한다.
test plan 우클릭후 threads -> thread group을 선택한다.
2. Thread Group
Thread Group은 JMeter에서 성능 테스트를 진행하는 config 파일이라고 이해하면 쉬울 것 같고 다양한 하위 Element 항목들을 제어하기 위한 시작점이다.
다음 항목들을 추가시켜준다.
- ThreadGroup(우클릭) -> Add -> Sampler -> Http Request
- ThreadGroup(우클릭) -> Add -> Listener -> View Results Tree
- ThreadGroup(우클릭) -> Add -> Listener -> Summary Report
- ThreadGroup(우클릭) -> Add -> Listener -> Response Times Over Time
- ThreadGroup(우클릭) -> Add -> Listener -> Transaction Per Second
잘 따라왔다면 해당 화면이 보일 것이다.
중간에 Thread Properties가 설정하는 부분이고
Number of Threads : 스레드 개수 ( 가상유저의 수 )
Ramp-up period(seconds) : 스레드가 실행되는데 걸리는 시간
Loop Count : 스레드를 몇 번 실행시킬 것인지
설정을 다 했으면 Start 를 눌러서 테스트를 진행하도록 합시다. 총 4개의 결과 분석을 통해 여러분들의 서버의 성능을 볼 수 있습니다. 아래와 같은 분석결과를 통해 데이터를 읽는 방식은 다음과 같습니다.
Samples - requset 갯수
Average - Sample Time의 평균
Min - Sample Time의 최소
Max - Sample Time의 최대
Std. Dev. - Sample Time의 표준편차
Error % - 에러율
Throughput - 시간당 처리량(=쓰루풋)
Received KB/sec - 시간당(sec) 받은 데이터(KB)
Sent KB/sec - 시간당(sec) 보낸 데이터(KB)
Avg. Bytes - 평균 바이트
다음 글은 테스트를 진행하면서 ubuntu 실시간 자원(CPU,Memory, network) 사용률 확인이다!
참고
'Java' 카테고리의 다른 글
Apache JMeter - nginx-rtmp 미디어서버 성능테스트 HLS livestreaming (0) | 2022.07.06 |
---|---|
[JDBC] 자바에서 sql 문 처리하기 (1) | 2021.12.22 |
[JDBC]JDBC와 Mysql 연결 - 에러해결 (6) | 2021.12.21 |
댓글