Artillery 부하테스트

2025. 6. 21. 23:51·AWS

1. Artillery란?

(Aritllery 로 부하테스트를 진행한 이유 + 웹에서 리포트 및 그래프 확인 가능)

 

 

2. Artillery 설치 및 yml 작성

sudo apt update
sudo apt install nodejs npm -y
sudo npm install -g artillery

 

설치가 완료되면, 다음 명령어를 통해 설치를 확인할 수 있다.

npx artiller --version

 

artillery를 사용하기 위한 load-test.yml파일 작성한다. 테스트 환경에 따라 arrivalRate를 변경해가며 사용한다.

config:
  target: "[부하를 보낼 ALB/인스턴스 주소]:[포트번호]"
  phases:
    - duration: 60          # 테스트 시간: 60초
      arrivalRate: 20       # 초당 20명의 유저가 요청을 보냄
  defaults:
    headers:
      Content-Type: "application/json"

scenarios:
  - name: Load Test
    flow:
      - get:
          url: "[/경로]"     #부하테스트를 진행할 경로.

 

artillery 실행

artillery run load-test.yml

 

 

mac 로컬환경에서 테스트를 했으나, 병목 현상 발생. 

 

테스트 요약 및 분석

  • 초당 500회의 요청을 할때부터, 응답 실패 요청들이 발생한다.
  • EC2 인스턴스 내부에서 stress test를 진행했을때에 비해 굉장히 낮은 트래픽에서 응답실패 발생.
  • 응답 실패 요청들이 발생하긴하지만, 서버가 다운된것은 아님

⇒ 병목 발생

 

EADDRNOTAVAIL 오류 발생 - 로컬 포트 부족

  • EADDRNOTAVAIL는 Error: Address not available의 줄임말로,
  • 로컬(테스트 머신)에서 사용할 수 있는 동적 포트가 고갈된 것을 의미한다.
  • Artillery는 요청마다 새로운 TCP 연결을 만드는데, 동시에 너무 많은 요청을 보내면 로컬 머신의 ephemeral 포트(임시 포트) 개수가 부족해짐
  • 대부분 OS는 수천~몇만 개의 ephemeral 포트를 제공하지만, 초당 수백 건 이상 요청하면 금방 고갈됨

⇒ 해결방법 : 로컬환경에서 부하를 주는 것이 아니라, EC2 머신을 사용해서 부하 발생 시나리오로 변경

'AWS' 카테고리의 다른 글

[AWS][트러블슈팅] TargetGroup Unhealthy, 504 Bad Gateway 문제 해결  (2) 2025.06.28
[AWS][트러블슈팅] ALB의 Internet-facing vs Internal  (0) 2025.06.26
[AWS][트러블슈팅] EC2 CPU100% 문제 해결  (1) 2025.06.04
[AWS]기존 EC2로 AMI 이미지 만들고, AutoScaling 그룹에 ELB 연결하기  (0) 2025.05.21
[AWS] 로드밸런서 유형과 구성요소  (0) 2025.05.19
'AWS' 카테고리의 다른 글
  • [AWS][트러블슈팅] TargetGroup Unhealthy, 504 Bad Gateway 문제 해결
  • [AWS][트러블슈팅] ALB의 Internet-facing vs Internal
  • [AWS][트러블슈팅] EC2 CPU100% 문제 해결
  • [AWS]기존 EC2로 AMI 이미지 만들고, AutoScaling 그룹에 ELB 연결하기
공부하는 나무꾼
공부하는 나무꾼
  • 공부하는 나무꾼
    헤맨 만큼 내 땅이다
    공부하는 나무꾼
  • 전체
    오늘
    어제
  • 글쓰기/관리
    • 분류 전체보기
      • AWS
      • SAA-C03
      • 네트워크 보안
      • 최신정보보안이론
      • 컴퓨터네트워크
      • OpenFaaS
      • C++
      • Java
      • HTML, CSS
      • 자료구조
      • 알고리즘
      • 정보보안인재양성
      • [MAC]트러블슈팅&Tip
      • 공부
      • Web(Django)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    web application server
    AWS
    웹클라이언트
    웹애플리케이션서버
    웹서버
    클라우드
    SAA-C03
    WAS
    자격증
    java #자바 #객체지향프로그래밍 #복습
    등록번호
    cloud
    Web Server
    aws-c03
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
공부하는 나무꾼
Artillery 부하테스트
상단으로

티스토리툴바