본문 바로가기

Stress Test

[부하 테스트] Jmeter 설정

이번 장에서는 부하 테스트 진행을 위해 개발자 PC에 클라이언트 (Jmeter)를 설정하는 방법을 알아본다.


참고 문서

  1. Jmeter 설치
    많은 블로그들에서는 Homebrew를 통해서 설치하는 방법으로 안내하고 있다.
    필자의 경우 Homebrew를 통하여 설치하게 되면 Jmeter의 테마를 적용시키지 못하는 오류가 발생하기 때문에 필자는 공식홈페이지에 있는 파일을 다운받아서 설치하는 것을 추천한다.
    공식 홈페이지(링크)에서 apache-jmeter-5.4.1.zip 파일을 다운로드 하거나 필자가 올려놓은 압축파일을 다운로드하여 적당한 위치에 압축을 풀어준다.
    필자의 경우 아래의 이미지에 나와있는 것처럼 /Users/roy/Desktop/KST/roys/benchmark/jmeter 경로에 압축을 풀어두었다.

설치한 경로의 bin 디렉토리로 이동하여 아래의 커맨드를 입력하여 Jmeter를 실행시킨다.

$ ./jmeter

오류없이 정상적으로 실행이 된다면 설치는 완료가 되었다.

  1. Jmeter 플러그인 설치

Jmeter의 많은 기능을 이용하기 위해서는 플러그인을 설치해야한다. 플러그인을 사용하기 위한 파일이 따로 존재한다. 필자가 첨부파일로 올려둔 jmeter-plugins-manager-1.6.jar 파일을 다운로드 받아서 {jmeter 설치경로}/lib/ext 경로에 집어 넣어준다. 필자의 경우 아래의 이미지와 같은 경로에 해당 파일이 존재한다.

경로에 정상적으로 파일을 이동시켰다면 Jmeter를 재실행시켜보면 아래의 이미지와 같이 Options -> Plugins Manager 버튼이 활성화 되었을 것이다.

  1. Jmeter 세부 플러그인 설치

이번에는 추가 기능을 사용하기 위한 세부 플러그인을 설치한다.
필자가 나열하는 목록은 필수적으로 설치해야 이후 필자와 같은 기능을 사용할 수 있다. 만약 더 많은 기능이 필요하다면 공식 홈페이지(링크)에서 검색하여 추가로 등록하도록 한다.
필자가 사용하는 플러그인 목록은 아래와 같다. 필자의 목록과 다르다면 Available Plugins로 이동하여 검색 및 설치하도록 한다.

  1. Test Group 추가

Jmeter에서는 테스트를 위한 하나의 단위를 Test Group이라고 한다.
필자가 테스트하기 위해 생성한 .jmx파일은 실제 서비스에 사용되는 API 호출 정보가 포함되어 있어 첨부하지 못하였다.
필자는 총 세개 Tutorial, Develop Test Group, Product Test Group 을 생성하였다.

- Tutorial: Jmeter와 친숙해지기 위해 작성한 Test Group
- Develop Test Group: 개발 서버를 부하테스트하는 Test Group
- Product Test Group: 상용 서버를 부하테스트하는 Test Group

아래로 진행하기 전에 각 Tag별로 상세 설명은 다른 글에 적어두었다.
Jmeter 상세 설정(링크)을 한 번보고 진행하는 것을 추천한다.

  1. 부하테스트 진행
    Tutorial Test Group을 사용하여 서버에 요청을 보내보고 결과를 확인해본다.
    Tutorial Test Group내에 아무거나 선택하고 실행버튼을 클릭한다. 만약 tutorial파일이 존재하는데 덮어쓰겠냐는 질문이 나오면 덮어쓰도록 한다. 자세한 내용은 아래에서 다룬다.

    일반적으로 필자가 표시해둔 세개의 버튼을 자주 사용하게 된다.

테스트가 완료되었다면 View Results Tree, Aggregate Report, Aggregate Graph, Graph Results를 확인해서 테스트 결과를 확인해본다.

  1. 결과 레포트 추출
    이번에는 결과 레포트를 추출해본다. 사실 위에서 언급했던 View Results Tree, Aggregate Report, Aggregate Graph, Graph Results는 실제로 사용하지 않는다. 결과 레포트 하나에 모든 데이터가 들어있기 때문이다.

    • user.properties 설정 변경
      {Jmeter 설치 경로}/bin/user.properties 파일에서 아래 목록에 나와있는 부분의 주석을 제거한다.

    • jmeter.reportgenerator.report_title (원하는 경우 변경, 필자의 경우 Macaron Stress Test Dashboard로 변경)

    • jmeter.reportgenerator.date_format (원하는 경우 변경, 필자의 경우 yyyy-MM-dd HH:mm:ss)

    • jmeter.reportgenerator.apdex_satisfied_threshold (수정 X)

    • jmeter.reportgenerator.apdex_tolerated_threshold (수정 X)

    • Generate HTML report 실행

- report 생성
    - Result file: View Results Tree에서 명시해두었던 파일명을 적어준다.
    - user.properties file: 윗 단계에서 수정한 user.properties 파일을 선택한다.
    - Output directory: report 파일이 저장되길 원하는 경로를 선택한다. 단, 매번 저장할 때마다 경로는 변경되어야 한다.

    아래의 이미지처럼 Report created! 가 표시되면 정상적으로 결과 레포트가 생성된 것이다.

- 결과 레포트 확인
   위의 단계에서 지정한 디렉토리로 이동하면 아래의 이미지와 같이 파일들이 생성되어 있을 것이다.

index.html을 기존에 사용하던 브라우저에서 열어본다.
아래와 같이 html 파일이 열린다면 정상적으로 결과 레포트가 생성된 것이다.
결과 레포트의 상세한 부분은 벤치마크 결과(링크)벤치마크 분석(링크)에서 상세하게 다뤄보도록 한다.


지금까지 부하 테스트를 위한 클라이언트 설정에 대해서 알아보았다.
다음 장인 서버 설정에서는 부하 테스트를 위해서 서버 설정하는 방법에 대해서 알아본다.

'Stress Test' 카테고리의 다른 글

[부하 테스트] 서버 설정  (0) 2022.01.22
[부하 테스트] Jmeter 상세 설정  (0) 2022.01.22
[부하 테스트] 개요  (0) 2021.12.29
[Pinpoint] 로컬 Agent 구축  (0) 2021.12.29
[Pinpoint] 로컬 서버 구축  (0) 2021.12.28