공식 사이트 중에서도 k6 의 결과를 설명해주는 페이지 를 보고 이해하고자 했습니다.
data_received..............: 148 MB 2.5 MB/s
data_sent..................: 1.0 MB 17 kB/s
http_req_blocked...........: avg=1.92ms min=1µs med=5µs max=288.73ms p(90)=11µs p(95)=17µs
http_req_connecting........: avg=1.01ms min=0s med=0s max=166.44ms p(90)=0s p(95)=0s
http_req_duration..........: avg=143.14ms min=112.87ms med=136.03ms max=1.18s p(90)=164.2ms p(95)=177.75ms
http_req_receiving.........: avg=5.53ms min=49µs med=2.11ms max=1.01s p(90)=9.25ms p(95)=11.8ms
http_req_sending...........: avg=30.01µs min=7µs med=24µs max=1.89ms p(90)=48µs p(95)=63µs
http_req_tls_handshaking...: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s
http_req_waiting...........: avg=137.57ms min=111.44ms med=132.59ms max=589.4ms p(90)=159.95ms p(95)=169.41ms
http_reqs..................: 13491 224.848869/s
iteration_duration.........: avg=445.48ms min=413.05ms med=436.36ms max=1.48s p(90)=464.94ms p(95)=479.66ms
iterations.................: 13410 223.498876/s
vus........................: 100 min=100 max=100
vus_max....................: 100 min=100 max=100
목표
내용을 읽는 사람은 각각의 matrics 를 이해할 수 있어야 한다.
위 결과를 보고싶은 사람은 k6 run github.com/k6io/k6/samples/http_get.js
를 실행해보면 된다.
https://k6.io/docs/using-k6/metrics#built-in-metrics
Matrics의 Type은 총 4가지로 나눠진다.
- 단순한 숫자를 더하는 Counter
- min,amx, last value가 보여지는 Gauge
- 퍼센트를 표현하는 Rate
- 마지막으로, 추가 값(최소, 최대, 평균 및 백분위수)에 대한 통계를 계산할 수 있는 Trend
아래는 k6 가 항상 수집하는 내역이다.
Matric Name | Type | Description |
---|---|---|
vus | Gauge | 현재 활성화된 사용자 유저 |
vus_max | Gauge | 가능한 최대 가상 사용자 수(로드 레벨을 확장할 때 성능에 영향을 미치지 않도록 VU 리소스가 미리 할당됨) |
iterations | Counter | 테스트에서 Vu 가 JS 스크립트를 실행한 총 횟수 |
iteration_duration | Trend | default/main function 의 전체 반복을 한 번 완료하는데 소요된 시간 |
dropped_iterations | Counter | k6 v0.27.0 에 도입된 VU lack 또는 lack of time 으로 인해 시작할 수 없는 반복 회수 |
data_received | Counter | 데이터를 전달받은 양 |
data_sent | Counter | 데이터를 전달한 양 |
checks | Rate | 성공적으로 체크된 Rate |
HTTP-specific 에 관련된 Build-in metrics
Matric name | Type | Description |
---|---|---|
http_reqs | Counter | 총 얼마나 많은 HTTP requests 를 k6 에서 생성했는지 횟수 |
http_req_blocked | Trend | 요청을 시작하기 전에 차단된 시간(TCP connection slot 을 기다리는) 단위: float |
http_req_connecting | Trend | 원격 호스트에 대한 TCP 연결을 설정하는데 소요된 시간. 단위: float |
http_req_tls_handshaking | Trend | 원격 호스트와의 핸드셰이킹 TLS 세션에 소요된 시간 |
http_req_sending | Trend | 원격 호스트에 데이터를 보내는데 소요된 시간 |
http_req_waiting | Trend | 원격 호스트로부터의 응답을 대기하는 데 소요된 시간(a.k.a. "time to first byte", or "TTFB"). |
http_req_receiving | Trend | 원격 호스트로부터 응답 데이터를 수신하는 데 소요된 시간 |
http_req_duration | Trend | 요청의 총 시간입니다. 이는 http_req_sending + http_req_waiting + http_req_receiving과 같습니다(즉, 초기 DNS 조회/연결 시간 없이 원격 서버가 요청을 처리하고 응답하는 데 소요된 시간). |
http_req_failed | Rate | The rate of failed requests according to setResponseCallback. |
'아직 카테고리 미정' 카테고리의 다른 글
RDB의 FTS 를 적용하면서 부딪힌 부분들 (4) | 2024.09.16 |
---|---|
RDB 의 FTS(Full Text Search) 이해하기 (1) | 2024.09.16 |
Mock 객체란 무엇일까? 왜 써야될까? (0) | 2021.03.11 |
TDD 좀 더 잘하기 (0) | 2021.03.11 |
테스트 주도 개발 입문해보기 (0) | 2021.03.09 |
댓글