AWS EC2와 k6를 이용한 성능 테스트
카테고리: Sprint
AWS EC2와 k6를 이용한 성능 테스트 실습
procedure
1. aws ec2 인스턴스 생성
-
aws 계정에서 EC2 인스턴스를 생성합니다.
-
버스트 기능이 있는 t2micro를 생성하세요
-
ubuntu 20.04
테스트에선 무제한으로 활성화
고급 세부 정보 탭에서 크레딧 사양 활성화
2. ssh 접속 생성한 ec2에 접속을 합니다.
3. install docker on EC2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 충돌 방지 및 관련 모든 패키지 삭제
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
#업데이트 및 HTTP 패키지 설치
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
# GPG 키 및 저장소 추가
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
#도커 레포지토리 설정
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 도커 엔진, 컨테이너, 도커 컴포즈 설치
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 도커 설치 확인
docker --version
도커 설치 : https://docs.docker.com/engine/install/ubuntu/
4. run container
- 성능 테스트를 위한 타깃 서버를 컨테이너로 배포합니다.
1
sudo docker run --name <이름> -d -p 8080:8080 sebcontents/cozserver:1.0
- 서버 배포 확인
1
curl http://localhost:8080
5. install k6
- 공식 홈페이지를 이용하여 k6를 설치합니다. (트러블 슈팅 주의)
- 클라우드 상에 빠른 설치를 위해서 snapd도 추천합니다. https://snapcraft.io/install/k6/ubuntu
1
2
3
4
sudo apt update
sudo apt install snapd
sudo snap install k6
6. 리포지토리에 유형별 테스트 스크립트가 작성되어 있습니다. 앞에서 설명한 내용과 비교하면서 코드의 구조를 잘 살펴보시기 바랍니다.
7. run the tests 각각의 스크립트를 실행해 보고 ec2 인스턴스의 CPU 사용률 대시보드를 확인해 보세요.
1
2
3
4
5
k6 run basic_test.js
k6 run load_test.js
k6 run stress_test.js
k6 run spike_test.js
k6 run soak_test.js
실제 테스트가 아니기 때문에 결과 확인을 위해 중간에 취소 함
댓글남기기