1. K6 란?
- k6를 이용하면 시스템의 성능테스트를 수행할 수 있다.
- Grafana Lab에서 만든 load testing 툴이다.
- 최대 성능을 위해 k6 툴 자체는 Go 언어로 작성돼있다.
1.1. K6 install (Linux)
sudo apt-get update
sudo apt-get install k6
https://github.com/grafana/k6/releases
2. 장점 / 단점
2.1. 장점
- 친숙한 언어인 JavaScript로 테스트 시나리오를 짤 수 있기 때문에 러닝커브가 낮다.
- 간단한 CLI 를 제공하며, 이미 사용중인 DevOps Tool 과 함께 사용하기 쉽다.
2.2. 단점
- npm 패키지를 사용하려면 번들링 (Bundling) 및 트랜스파일링(transpiling) 이 필요하다.
3. K6 script
- HTTP (GET , POST , PUT , DELETEL 등) 요청을 보낼 수 있는 기능을 제공 (import 모듈명)
- 위와 같이 http.post 메소드를 이요하여 post 요청을 보낸다.
- 요청시 url , 헤더 (header) , 전송 데이터 (payload) 및 파라미터 (params) 를 매개변수로 전달할 수 있다.
- json 데이터 전송을 위해 params 헤더에 headers: {'Content-Type': 'application/json'} 를 정의했다.
- check 함수를 이용하여 요청의 결과값이 적절한지 확인할 수 있다.
k6 run --vus 1000 --duration 30s --out json=out.json k6-script-post.js
k6-script-post.js (javascript) 파일이 있는 위치에서 위 명령어를 실행하면된다.
- 명령어 option 설명
- vus : 동시 작업자 수
- duration : 부하 테스트 시간
- out : 출력 포맷 및 파일 명
- script.js: 실행할 스크립트
- 실행 조건
- vUser 1000 명 (동시 작업자 수)
- Duration 1 초
'DevOps, Infra' 카테고리의 다른 글
베이그런트 (Vagrant) Cheat Sheet (0) | 2023.01.24 |
---|---|
[DevOps] Ansible 이란? (0) | 2023.01.17 |
[Keycloak] MSA 인증/인가 Open Source Solution Keycloak ? (0) | 2023.01.05 |
[ArgoCD]카나리 배포 (Canary Deployment) (0) | 2022.12.30 |
[ArgoCD] 블루그린 배포(Blue Green Deployment) (0) | 2022.12.30 |