Skip to content

nodejs 성능테스트 도구 Artillery

hyejung kim edited this page Jan 25, 2022 · 1 revision

Artillery

  • HTTP, Websocket 프로토콜을 지원
  • Javascript 를 통해 필요에 따른 로직을 구성 가능
    • Trigging point 를 제공한다.
      • beforeScenario: called before a virtual user executes a scenario
      • afterScenario: called after a virtual user executes a scenario
      • beforeRequest: called before a request is sent; request parameters (URL, cookies, headers, body etc) can be customized here
      • afterResponse: called after a response has been received; the response can be inspected and custom variables can be set here
      • function: which can be inserted as a step at any point in a scenario
  • 외부 모니터링 시스템 Publish 가능하여 실시간으로 매트릭스 구성 가능 (Datadog, StatsD, InfluxDB)
  • 시나리오 케이스를 추가 가능
  • 풍부한 CLI 커맨드를 제공
  • 리포트 페이지를 제공

-> Node 환경에서는 Artillery를 사용하는 게 좋다.

Artillery로 테스트 가능한 성능 테스트

  1. 시스템에 부하를 가하는 테스트(ex. 부하테스트, 스트레스 테스트) 수행 가능
  2. 시스템이 예상대로 동작하는지 확인 테스트
    • api 지속적 실행 여부, 연속 기능 테스트, ping 등

Artillery

  • 기본적으로 http, websocket 및 socket.io를 지원, 플러그인을 통해 kafka와 같은 추가 프로토콜도 지원
  • 앱 개발자 ~ QA 엔지니어, 운영/SRE 등 백엔드 시스템의 제공, 테스트 및 운영을 담당하는 팀에서 사용