k6 부하테스트

김팔복 2026. 4. 13. 오전 12:11:05
조회 3 추천 0 댓글 0


📌 k6란 무엇인가?



Grafana k6는 Grafana에서 제공하는 오픈소스 부하 테스트 도구로,
서버의 성능과 안정성을 검증하기 위해 사용된다.

간단히 말하면,
👉 여러 명의 사용자가 동시에 접속하는 상황을 가짜로 만들어서
👉 서버가 얼마나 버틸 수 있는지 확인하는 도구다.

🚀 왜 k6를 사용하는가?

실제 서비스에서는 다음과 같은 상황이 자주 발생한다.

이벤트로 인해 갑자기 트래픽이 몰리는 경우
특정 기능(API)이 병목이 되는 경우
서버가 언제 터지는지 미리 알고 싶은 경우

이때 k6를 사용하면
👉 실서비스 전에 미리 부하를 걸어보고 문제를 발견할 수 있다.

⚡ k6의 특징

k6는 기존 부하 테스트 도구들과 비교했을 때 몇 가지 장점이 있다.

1. JavaScript 기반

테스트 코드를 JavaScript로 작성할 수 있어서
👉 백엔드 개발자라면 매우 쉽게 사용할 수 있다.

2. 빠르고 가벼움

Go로 만들어져 있어서 실행 속도가 빠르고
설치도 매우 간단하다.

3. 다양한 시나리오 지원

단순 반복 요청뿐만 아니라

동시 사용자 테스트 (VU 기반)
초당 요청 수 기반 테스트 (RPS/TPS)
점진적 부하 증가 테스트 (Ramp-up)
스파이크 테스트

👉 다양한 상황을 실제처럼 재현할 수 있다.




📌 k6 설치 방법 (https://grafana.com/docs/k6/latest/set-up/install-k6/)

Grafana k6는 다양한 환경에서 간단하게 설치할 수 있다.
운영체제별로 설치 방법을 정리해보면 다음과 같다.

🐧 Linux
✅ Debian / Ubuntu
'''
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
'''

✅ Fedora / CentOS
'''
sudo dnf install https://dl.k6.io/rpm/repo.rpm
sudo dnf install k6
'''
CentOS 구버전에서는 yum을 사용할 수도 있다.

🍎 macOS
✅ Homebrew 사용
'''
brew install k6
'''

👉 가장 간단한 방법이며, Mac 사용자에게 추천

🪟 Windows
✅ Chocolatey 사용
'''
choco install k6
'''

✅ winget 사용 (공식 패키지)
'''
winget install k6 --source winget
'''

✅ 설치 파일 직접 다운로드

👉 공식 설치 프로그램을 다운로드해서 실행하는 방법도 가능하다.

🐳 Docker
✅ 기본 이미지
'''
docker pull grafana/k6
'''

✅ 브라우저 테스트 포함 이미지
'''
docker pull grafana/k6:master-with-browser
'''

👉 k6 browser 기능을 사용할 경우 필요


✅ 설치 확인

설치가 완료되면 아래 명령어로 정상 설치 여부를 확인할 수 있다.
'''
k6 version
'''











공식 사이트 : https://k6.io/
설치 방법 : https://grafana.com/docs/k6/latest/set-up/install-k6/
http 문서: https://grafana.com/docs/k6/latest/javascript-api/k6-http/
시나리오 문서 : https://grafana.com/docs/k6/latest/using-k6/scenarios/executors/

댓글 0