이전에는 K6를 설치까지만 했습니다 이제는 K6의 기본 구조와 간단한 테스트를 해보겠습니다
고고띠!!
시작하기 전에
k6 스크립트를 작성하려면 다음이 필요합니다.
- 자바스크립트 또는 타입스크립트에 대한 기본적인 지식
- K6 설치 여부
- 스크립트를 작성하기 위한 코드 편집기 (Visual Studio Code , JetBrains 편집기 등등..)
K6 테스트 기본 구조
k6가 테스트를 해석하고 실행하려면 모든 k6 스크립트는 공통 구조를 따라야 합니다.
- Default Function
- Imports
- Options
- Lifecycle operations
Default Function
K6 테스트 에 있어 핵심인 부분입니다. 이 영역에서는 유저가 실제로 하는 행동을 정의합니다
테스트를 진행하면서 가상 유저(VU)가 이 함수를 계속 반복 실행 합니다
export default function () {
http.get('https://api.myserver.com');
}
즉 사용자 1명이 API 호출하는 행동입니다. 즉 유저가 우리 서버에서 행동을 할 때 발생하는 시나리오를 여기서 정의합니다
VU(가상 사용자가)가 100명이면 위에서 정의한 함수가 동시에 100번씩 계속 실행됩니다.
Imports
라이브러리 가져오기를 정의합니다. 스크립트의 기능을 확장하기 위해 추가 k6 모듈 또는 JavaScript 라이브러리(jslibs)를 가져올 수 있습니다.
import http from 'k6/http';
import { sleep } from 'k6';
Options
부하 설정을 하는 곳 입니다. 즉 서버에 부하를 얼마나 때릴 거냐 설정하는지 결정을 합니다
export const options = {
vus: 100, // 동시 사용자 수
duration: '30s', // 테스트 시간
};
이 스크립트의 의미는 100명이 30초 동안 계속 요청 한다는 뜻입니다
즉 이게 부하테스트의 조건이 됩니다.
Lifecycle
테스트 전/후/중간에 실행되는 코드다 k6에는 총 3 단계가 있다
setup()
테스트 시작 전에 1번 실행
export function setup() {
return { token: "abc123" };
}
예:
- 로그인해서 토큰 받아오기
- 테스트 데이터 준비
default()
실제 테스트 (위에서 설명)
teardown()
테스트 끝나고 1번 실행
export function teardown(data) {
console.log("테스트 종료");
}
예:
- 결과 정리
- 리소스 정리
'🖥️ 컴퓨터 공부 > 부하테스트 & 성능최적화' 카테고리의 다른 글
| 해커톤 성능 최적화 -3 (0) | 2026.04.24 |
|---|---|
| 해커톤 성능 최적화 -2 (0) | 2026.04.24 |
| 해커톤 성능 최적화 - 1 (0) | 2026.04.24 |
| k6 와 그라파나로 성능최적화 도전 (0) | 2026.04.24 |
| K6 설치하기 (0) | 2026.04.04 |