일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CHECK OPTION
- shared lock
- 다대일
- 지연로딩
- exclusive lock
- fetch
- querydsl
- 이진탐색
- JPQL
- 백트래킹
- SQL프로그래밍
- 유니크제약조건
- FetchType
- 연결리스트
- execute
- 낙관적락
- 동적sql
- 데코레이터
- eager
- dfs
- 일대다
- 비관적락
- 스토어드 프로시저
- PS
- 즉시로딩
- 스프링 폼
- 연관관계
- 힙
- 다대다
- BOJ
- 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
설정 및 실행
- 한글 깨짐 방지
/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
다운로드 받은 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 |