k6

Supported OS Windows Mac OS

개요

k6는 성능 문제와 퇴보를 조기에 발견하는 데 도움이 되는 오픈 소스 부하 테스트 도구입니다.

k6 통합을 사용하면 k6 테스트의 성능 메트릭을 추적할 수 있습니다.

  • 애플리케이션 성능과 부하 테스트의 상관관계를 파악합니다.
  • 성능 테스팅 메트릭 기반 알림을 생성합니다.
  • k6 Datadog 대시보드 또는 메트릭 탐색기를 사용하여 k6 메트릭을 분석하고 시각화합니다.

K6 Datadog 대시보드

설정

자세한 지침은 k6 설명서를 참조하세요.

설치

  1. Datadog에서 통합 > API로 이동하여 API 키를 복사합니다.

  2. Datadog 에이전트를 실행합니다.

    k6 메트릭을 Datadog로 가져오려면 k6은 Datadog 에이전트를 통해 메트릭을 전송합니다. Datadog 에이전트는 Datadog 플랫폼으로 메트릭을 수집, 집계하고 전달합니다.

    다음 명령으로 Datadog 에이전트 서비스를 도커(Docker) 컨테이너로 실행합니다.

    DOCKER_CONTENT_TRUST=1 \
    docker run -d \
        --name datadog \
        -v /var/run/docker.sock:/var/run/docker.sock:ro \
        -v /proc/:/host/proc/:ro \
        -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \
        -e DD_SITE="datadoghq.com" \
        -e DD_API_KEY=<YOUR_DATADOG_API_KEY> \
        -e DD_DOGSTATSD_NON_LOCAL_TRAFFIC=1 \
        -p 8125:8125/udp \
        datadog/agent:latest
    

    참고: <YOUR_DATADOG_API_KEY>API 키로 바꿉니다. 계정이 Datadog EU에 등록된 경우 DD_SITE의 값을 datadoghq.eu로 변경합니다.

  3. k6 테스트를 실행하고 결과를 Datadog로 출력합니다.

    Datadog 에이전트 서비스가 실행되면 k6 테스트를 실행하고 메트릭을 에이전트로 전송하세요.

    K6_STATSD_ENABLE_TAGS=true k6 run --out statsd script.js
    
  4. Datadog에서 k6 메트릭을 시각화합니다.

    테스트를 실행하는 동안 k6는 Datadog로 메트릭을 주기적으로 전송합니다. 기본적으로 메트릭에는 k6.이 이름 접두사로 사용됩니다.

    메트릭 탐색기, 모니터 또는 커스텀 대시보드 를 통해 k6 메트릭을 실시간으로 시각화할 수 있습니다.

    k6 Datadog 메트릭 탐색기

    또한 Datadog 이 k6.http_reqs 메트릭을 처음 감지하면 k6 통합 타일이 자동으로 설치되고 기본 k6 대시보드 이 [대시보드 목록 ]에 추가됩니다9.

    K6 Datadog 대시보드

수집한 데이터

메트릭

k6.data_sent
(count)
The amount of data sent
Shown as byte
k6.data_received
(count)
The amount of received data
Shown as byte
k6.http_req_blocked.avg
(gauge)
Average time spent blocked before initiating the request
Shown as millisecond
k6.http_req_blocked.max
(gauge)
Max time spent blocked before initiating the request
Shown as millisecond
k6.http_req_blocked.median
(gauge)
Median time spent blocked before initiating the request
Shown as millisecond
k6.http_req_blocked.95percentile
(gauge)
95th time spent blocked before initiating the request
Shown as millisecond
k6.http_req_blocked.99percentile
(gauge)
99th time spent blocked before initiating the request
Shown as millisecond
k6.http_req_blocked.count
(rate)
The number of httpreqblocked values submitted during the interval
Shown as unit
k6.http_req_connecting.avg
(gauge)
Average time spent establishing TCP connection
Shown as millisecond
k6.http_req_connecting.max
(gauge)
Max time spent establishing TCP connection
Shown as millisecond
k6.http_req_connecting.median
(gauge)
Median time spent establishing TCP connection
Shown as millisecond
k6.http_req_connecting.95percentile
(gauge)
95th time spent blocked before initiating the request
Shown as millisecond
k6.http_req_connecting.99percentile
(gauge)
99th time spent blocked before initiating the request
Shown as millisecond
k6.http_req_connecting.count
(rate)
The number of httpreqconnecting values submitted during the interval
Shown as unit
k6.http_req_duration.avg
(gauge)
Average request time
Shown as millisecond
k6.http_req_duration.max
(gauge)
Max request time
Shown as millisecond
k6.http_req_duration.median
(gauge)
Median request time
Shown as millisecond
k6.http_req_duration.95percentile
(gauge)
95th request time
Shown as millisecond
k6.http_req_duration.99percentile
(gauge)
99th request time
Shown as millisecond
k6.http_req_duration.count
(rate)
The number of httpreqduration values submitted during the interval
Shown as unit
k6.http_reqs
(count)
Total number of HTTP requests
Shown as request
k6.http_req_receiving.avg
(gauge)
Average time spent receiving response data
Shown as millisecond
k6.http_req_receiving.max
(gauge)
Max time spent receiving response data
Shown as millisecond
k6.http_req_receiving.median
(gauge)
Median time spent receiving response data
Shown as millisecond
k6.http_req_receiving.95percentile
(gauge)
95th time spent receiving response data
Shown as millisecond
k6.http_req_receiving.99percentile
(gauge)
99th time spent receiving response data
Shown as millisecond
k6.http_req_receiving.count
(rate)
The number of httpreqreceiving values submitted during the interval
Shown as unit
k6.http_req_sending.avg
(gauge)
Average time spent sending data
Shown as millisecond
k6.http_req_sending.max
(gauge)
Max time spent sending data
Shown as millisecond
k6.http_req_sending.median
(gauge)
Median time spent sending data
Shown as millisecond
k6.http_req_sending.95percentile
(gauge)
95th time spent sending data
Shown as millisecond
k6.http_req_sending.99percentile
(gauge)
99th time spent sending data
Shown as millisecond
k6.http_req_sending.count
(rate)
The number of httpreqsending values submitted during the interval
Shown as unit
k6.http_req_tls_handshaking.avg
(gauge)
Average time spent handshaking TLS session
Shown as millisecond
k6.http_req_tls_handshaking.max
(gauge)
Max time spent handshaking TLS session
Shown as millisecond
k6.http_req_tls_handshaking.median
(gauge)
Median time spent handshaking TLS session
Shown as millisecond
k6.http_req_tls_handshaking.95percentile
(gauge)
95th time spent handshaking TLS session
Shown as millisecond
k6.http_req_tls_handshaking.99percentile
(gauge)
99th time spent handshaking TLS session
Shown as millisecond
k6.http_req_tls_handshaking.count
(rate)
The number of httpreqtls_handshaking values submitted during the interval
Shown as unit
k6.http_req_waiting.avg
(gauge)
Average time spent waiting for response (TTFB)
Shown as millisecond
k6.http_req_waiting.max
(gauge)
Max time spent waiting for response (TTFB)
Shown as millisecond
k6.http_req_waiting.median
(gauge)
Median time spent waiting for response (TTFB)
Shown as millisecond
k6.http_req_waiting.95percentile
(gauge)
95th time spent waiting for response (TTFB)
Shown as millisecond
k6.http_req_waiting.99percentile
(gauge)
99th time spent waiting for response (TTFB)
Shown as millisecond
k6.http_req_waiting.count
(rate)
The number of httpreqwaiting values submitted during the interval
Shown as unit
k6.iteration_duration.avg
(gauge)
Average time spent for a VU iteration
Shown as millisecond
k6.iteration_duration.max
(gauge)
Max time spent for a VU iteration
Shown as millisecond
k6.iteration_duration.median
(gauge)
Median time spent for a VU iteration
Shown as millisecond
k6.iteration_duration.95percentile
(gauge)
95th time spent for a VU iteration
Shown as millisecond
k6.iteration_duration.99percentile
(gauge)
99th time spent for a VU iteration
Shown as millisecond
k6.iteration_duration.count
(rate)
The number of iteration_duration values submitted during the interval
Shown as unit
k6.iterations
(count)
Aggregated number of VU iterations
Shown as unit
k6.vus
(gauge)
Current number of active virtual users
Shown as user
k6.vus_max
(gauge)
Max possible number of virtual users
Shown as user

서비스 점검

k6 통합에는 서비스 점검이 포함되어 있지 않습니다.

이벤트

k6 통합에는 이벤트가 포함되어 있지 않습니다.

트러블슈팅

도움이 필요하세요? k6 Datadog 설명서를 참조하거나 k6 지원팀에 문의하세요.