AWS EC2와 k6를 이용한 성능 테스트

업데이트:     Updated:

카테고리:

태그:

AWS EC2와 k6를 이용한 성능 테스트 실습


procedure

1. aws ec2 인스턴스 생성

  • aws 계정에서 EC2 인스턴스를 생성합니다.

  • 버스트 기능이 있는 t2micro를 생성하세요

  • ubuntu 20.04


image

image

image

테스트에선 무제한으로 활성화

image고급 세부 정보 탭에서 크레딧 사양 활성화

image

2. ssh 접속 생성한 ec2에 접속을 합니다.

image

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/

image

4. run container

  • 성능 테스트를 위한 타깃 서버를 컨테이너로 배포합니다.
1
sudo docker run --name <이름> -d -p 8080:8080 sebcontents/cozserver:1.0

image

  • 서버 배포 확인
1
curl http://localhost:8080

image

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

image

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

image image image image image image image

실제 테스트가 아니기 때문에 결과 확인을 위해 중간에 취소 함

8. inspect aws burst credit 대시 보드의 CPU 크레딧 사용량(개수) 와 CPU 크레딧 밸런스(개수)를 관찰합니다.

image




Sprint 카테고리 내 다른 글 보러가기 🤠

댓글남기기