본문 바로가기

소소한 꿀팁..?

[gatling] gatling다운받고 intellij에서 실행시켜보기 (with 공식 doc)

개인프로젝트를 하며 테스팅 툴을 gatling으로 변경해야 하는 일이 발생했습니다...! 그러나 jmeter나 nGrinder와는 다르게 레퍼런스가 부실한 문제가 있었습니다. 그렇기에 이번 기회에 gatling의 공식 document를 보며 설치하고 intellij에서 실행까지 해보고자 합니다.

추가로 gatling 측에서는 intelliJ를 추천하고 있습니다!

 

가보자고!

설치방법

0. 사전 준비

2024년 4월 기준으로 gatling은 JVM위에서 동작합니다. gatling은 OpenJDK 11, 17, 21을 지원하며 3개의 jdk중 하나라도 미리 설치가 되어 있어야 합니다. 또한 gatiing 3.7 버전부터 scala는 물론이고 java, kotlin 모두 지원한다고 참고 바랍니다!

❗ 상기 명시되어 있는 OpenJdk버전 이외의 버전 그리고 32비트로 설계되어 있는 JVM 혹은 OpenJ9같은 JDK는 지원하지 않습니다.

 

1. 설치

공식 doc에서는 maven, gradle, sbt와 같은 빌드 툴로 gatling을 설치하는 방법과 번들(.zip)을 이용해 설치하는 방법을 안내주고 있습니다. 전 번들을 이용해서 설치하였습니다.

아래의 버튼을 눌러 번들을 다운 받아줍니다.

 

 

 

다운받은 .zip 파일의 압축을 풀어주고 이를 인텔리제이에서 열어줍니다.

이때 해당 zip 파일의 디렉토리는 다음과 같으며

인텔리제이서 본 디렉토리 구조

각 디렉토리별로 아래의 역할을 가집니다.

  • bin: gatling과 recorder를 수행시키는 스크립트들이 존재합니다.
  • conf: gatling과 Akka(gatling은 Akka프레임워크 기반으로 동작합니다.), Logback의 설정파일이 존재합니다.
  • lib: Gatling과 Gatling이 필요한 의존성이 존재합니다.
  • user-file:
    • simulation: 사용자가 작성한 시뮬레이션 코드가 존재합니다.
    • resources: 소스코드가 아닌 requestBody에 담을 템플릿이나 파일등이 존재합니다.
    • lib: 사용자가 직접 jar형태로 의존성을 추가할 때 사용합니다. (저희는 gatling 오픈소스를 사용할것이기에 상관없지만 만약 enterprise를 사용한다면 fat JAR 형식으로 시뮬레이션 코드와 함께 빌드 됩니다.)
  • result: 테스트 결과가 저장됩니다. 이는 html 형식으로 볼 수 있습니다.

2. 실행

다양한 스크립트파일들

저는 맥북을 사용하고 있기에 gatling.sh파일을 실행시킬겁니다. 그리고 실행시키면 다음과 같은 결과가 보이면서...

 

테스트가 수행이 됩니다. 그리고 테스트가 완료되면 result 디렉토리에

 

다음과 같이 결과가 담긴 html이 생성되며 브라우저를 통해 확인해보면..

 

다음과 같이 멋드러진 결과창을 확인해보실수 있습니다. 개인적으로는 nGrinder보다 테스트 환경을 구축하기 쉬운듯 합니다.

 

참고

https://docs.gatling.io/reference/install/oss/

https://goto-pangyo.tistory.com/280