부하테스트 ‐ (3) 부하테스트 도구 선정(k6), 부하테스트용 EC2 준비 - ttasjwi/board-system GitHub Wiki

부하 테스트 툴

후보군으로 ngrinder, jmeter, ab, locust, k6 등이 있다. image

image

  • ngrinder
    • 한국어 지원
  • jmeter
    • 사용자마다 별도의 스레드를 할당하는 스레드 기반의 모델이기 때문에, 상당한 리소스가 필요
  • locust
    • 100vu(가상사용자) 정도 됐을 때 측정 오류가 크다.
  • k6
    • 메모리 사용량이 낮고, rps(request per second)도 충분
    • 가볍고 설치, 셋팅이 간단하며, 가벼우면서도 부하 생성 능력도 충분하다는 점때문에 k6 를 사용하기로 결정
  • 참고자료

K6 보안그룹 설정

image

  • 부하테스트를 실행할 k6 보안그룹이다.
  • 인바운드 규칙
    • SSH
    • 5665 포트 : k6 대시보드

EC2 인스턴스 생성

image

  • 이름 : board-system-k6-server
  • ubuntu, t3a.small

image

  • k6 용 pem 생성

image

  • 보안그룹 연결

image

  • 그 외 설정은 건들지 않고 생성

EC2 접속

  • .ssh/config
Host k6-server
  HostName k6서버ip
  User ubuntu
  IdentityFile ~/.ssh/k6-server.pem
ssh k6-server

k6 설치

k6 설치
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
k6

image

  • 설치가 잘 된것을 확인할 수 있다.