Grafana K6 사용하기 (Ubuntu)

🔥Log·2024년 5월 13일

테스트

목록 보기
1/5

☕ 개요


이번 글에서는 다양한 부하 테스트 도구 중에서 Grafana lab에서 개발한 K6에 대해서 알아보고, 사용해보도록 하겠다.


🧐 Grafana K6의 주요 특징


먼저, Grafana K6의 주요 특징들을 살펴보자. 공식문서가 아주 잘 되어 있으니 참고하면 좋을 것이다.

1) 후발주자

K6는 다른 부하 테스트 도구들(nGrinder, Jmeter)에 비해 비교적 최근 개발된 오픈소스 도구이다. 2017년에 첫 릴리즈가 이루어졌다.

후발주자인 만큼 다른 테스트 도구들에 비해서 공식문서가 잘 되어있고, 모던하다.

2) Javascript로 작성하는 Script

K6는 Javascript로 부하 테스트용 스크립트를 작성한다.

3) Go 엔진

스크립트는 Js로 작성하지만, 스크립트를 실행하는 엔진은 Node가 아니라 Go로 개발되었다.

4) GUI 제공 X

기본적으로는 GUI 또는 브라우저 환경에서 테스트를 생성 또는 조회할 수 있는 환경을 제공하지는 않는다.

다만, Grafana 대시보드를 붙이면 뚝딱 대시보드를 만들 수 있고, 아직은 베타버전 단계이지만, Grafana lab에서는 K6 브라우저도 개발하고 있다.


📒 K6 설치하기


나는 Ubuntu(wsl)에 설치할 것이지만, Mac, Windows, Docker도 지원한다.

sudo gpg -k
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/k6-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
echo "deb [signed-by=/usr/share/keyrings/k6-archive-keyring.gpg] https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
sudo apt-get update
sudo apt-get install k6

Ubuntu에서는 위 명령어들을 실행해주면 뚝딱 설치가 된다.

설치 완료 후, 버전을 찍어보면 정상적으로 K6의 버전이 출력되는 것을 확인할 수 있다.


✅ K6 테스트 진행하기


1) 스크립트 파일 생성하기

k6 new

위 명령어를 실행하면, script.js파일이 현재 디렉토리에 생성된다.
물론 원하는 이름으로 직접 파일을 생성해줘도 된다.

import http from 'k6/http';
import { sleep } from 'k6';

export const options = {
  vus: 10,
  duration: '30s',
};

export default function () {
  http.get('http://test.k6.io');
  sleep(1);
}

하나의 스크립트는 기본적으로 optionsdefault 함수로 구성이된다.
options 변수는 말그대로 테스크를 실행하는 데에 사용되는 옵션이고, 테스트 로직은 default 함수에 정의하면 된다.

2) 스크립트 실행하기

k6 run {스크립트 파일 명}.js

위 명령어를 통해서 특정 파일을 실행할 수 있다.
실행이 완료되면, 아래와 같은 결과가 출력이 된다.

0개의 댓글