설치

https://k6.io/docs/getting-started/installation/

위 링크를 참고하면 내가 원하는 환경의 설치 방법을 확인할 수 있다. 나 같은 경우는 도커 환경에서 성능 테스트를 진행할 예정이라 아래와 같은 명령어를 입력했다.

$ docker pull loadimpact/k6

실행 하기

K6의 테스트 작성은 매우 간단했다. JavaScript 파일을 하나 만들어두고 아래와 같이 function 안에 시나리오를 작성하면 된다.

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

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

도커에서 실행해야되므로 아래와 같이 실행했다.

$ docker run -i loadimpact/k6 run - <script.js

테스트 시간과 VUser의 수를 지정하고 싶으면 아래와 같이 실행하면 된다.

docker run -i loadimpact/k6 run --vus 10 --duration 30s - <script.js

테스트 도중에 VUser의 수를 올리거나 내릴 수도 있다.

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

export let options = {
  stages: [
    { duration: '30s', target: 20 },
    { duration: '1m30s', target: 10 },
    { duration: '20s', target: 0 },
  ],
};

export default function () {
  let res = http.get('https://httpbin.org/');
  check(res, { 'status was 200': (r) => r.status == 200 });
  sleep(1);
}

참고 문서

https://k6.io/docs/getting-started/running-k6/