일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- fetch
- execute
- SQL프로그래밍
- 동적sql
- 연관관계
- 일대다
- shared lock
- 스프링 폼
- 낙관적락
- 다대일
- exclusive lock
- BOJ
- 힙
- 백트래킹
- FetchType
- 스토어드 프로시저
- dfs
- 비관적락
- JPQL
- eager
- 지연로딩
- 즉시로딩
- 유니크제약조건
- 데코레이터
- 연결리스트
- 이진탐색
- 다대다
- PS
- CHECK OPTION
- querydsl
- Today
- Total
흰 스타렉스에서 내가 내리지
Apache JMeter 를 이용한 성능 테스트 본문
응답시간(Response Time)
- 클라이언트가 서버에 요청을 하고 그 요청에 대한 응답을 받을 때까지 걸린 시간을 의미한다.
- 응답 시간은 아래의 두가지로 분류 가능하다.
- 처리 시간(Processing Time) : 실제 서버가 요청을 처리하는데 걸린 시간
- 대기 시간(Latency Time) : 클라이언트와 서버간에 데이터를 주고 받는데 걸리는 시간
응답시간(Respose Time) = [동시 사용자 수 / 초당 요청 수(TPS)] - 인지시간(Think Time)
TPS(Throughput)
- 서버가 초당 처리할 수 있는 요청의 개수를 나타낸다.
- TPS 가 높을 수록 초당 처리할 수 있는 요청의 수가 많다.
초당 요청 수(TPS) = 동시 사용자 수 / 응답시간(Response Time) + 인지시간(Think Time)
다운로드
https://jmeter.apache.org/download_jmeter.cgi
Apache JMeter - Download Apache JMeter
Download Apache JMeter We recommend you use a mirror to download our release builds, but you must verify the integrity of the downloaded files using signatures downloaded from our main distribution directories. Recent releases (48 hours) may not yet be ava
jmeter.apache.org
설정 및 실행
- 한글 깨짐 방지
/bin/jmeter.properties 에 아래 구문 추가
#sampleresult.default.encoding=ISO-8859-1
sampleresult.default.encoding=UTF-8
하지만 버전 5.6.1 부터는 디폴트가 UTF-8 이라고 하니, 나는 수정할 필요가 없다.
실행
1. /bin 디렉터리 이동 -> cd /bin
2. jmeter 실행 -> ./jmeter
그래프 플러그인
JMeter 에서 제공하는 그래프도 있지만, TPS 를 보기 위해 외부 플러그인 추가 설치
https://jmeter-plugins.org/?search=jpgc-graphs-basic
JMeter Plugins :: JMeter-Plugins.org
jmeter-plugins.org
다운로드 받은 jar 파일을 /lib 폴더에 넣는다.
추가됐죠?
1. Thread 그룹 생성
Test Plan → Add → Threads (Users) → Thread Group
-- Number of Threads (users) : 스레드수 - 유저 수
-- Ramp-up period (seconds) : 지정된 유저가 모두 로딩될 시간
-- Loop Count : 반복 횟수
== 1초에 50번의 부하를 100번 반복한다.
2. Sampler 생성
Thread Group → add → Sampler → HTTP Request
HTTP METHOD 가 POST 라면 Body Data 도 삽입 가능
3. Header 설정 (토큰 삽입)
생성한 Sampler → add → Config Element → Http Header Manager
4. Listener 생성
종류가 많지만 3가지
-- View Results Tree
-- Summary Report
-- TPS Graph
1. View Results Tree
-- 개별 요청의 Request / Response 를 볼 수 있다.
-- 응답 Body 까지만 확인 가능하다.
2. Summary Report
-- 전체적인 요약본이다.
-- 평균, 최소, 최대의 단위는 ms 이다.
Label : Sampler 이름
Samples : Request 개수
Average : 응답 평균
Min, Max : 응답 최소, 응답 최대
Std. Dev. : 응답 표준편차
Error % : 에러율
Throughput : 시간당 처리량
Received KB/sec : 시간당(sec) 받은 데이터(KB)
Sent KB/sec : 시간당(sec) 보낸 데이터(KB)
Avg. Bytes : 평균 바이트
3. TPS Graph
TPS 을 그래프로 볼 수 있다.
요청이 2개일 경우, 두 개를 그래프로 비교해서 볼 수있다.
'모니터링' 카테고리의 다른 글
프로젝트에 슬랙 봇 투입! (1) | 2023.12.22 |
---|---|
모니터링 도입기 (2) | 2023.12.21 |
모니터링 환경 구성 (1) | 2023.12.21 |
모니터링 메트릭 활용 - 스프링부트에서의 예제 (1) | 2023.12.21 |
그라파나 - 메트릭을 통한 문제 확인 예제 (1) | 2023.12.18 |