반응형

Gemini_Generated_Image_z1m0lsz1m0lsz1m0.png

안녕하세요 가야태자 @talkit 입니다.

JMeter를 처음 설치하면 기본적으로 제공되는 HTTP Request, View Results Tree, Summary Report만으로도 기본적인 부하 테스트는 충분히 가능합니다. 하지만 실제 엔터프라이즈 환경에서 더 밀도 높은 성능 분석을 수행하려면 기본 모듈만으로는 몇 가지 아쉬운 한계에 부딪히게 됩니다.

Apache JMeter 공식 웹사이트 메인 화면

  1. 계단식 트래픽 증폭이나 피크 트래픽 등 복잡한 사용자 부하 패턴 제어의 한계
  2. 부하가 발생하는 동안 대상 서버의 CPU/Memory 상태 실시간 추적 불가
  3. 보고서 제출용으로 사용하기에 기본 텍스트/표 리포트의 시각적 부족함
  4. 오늘은 이러한 한계를 해결해 주는 실무 필수 JMeter 플러그인 3가지와, 고객사나 C-Level 제출용으로 최적화된 커스터마이징 HTML 대시보드 리포트 세팅법을 정리해 드리겠습니다.

사전 준비: JMeter Plugins Manager 설치

플러그인을 일일이 다운로드하지 않고 GUI 상에서 클릭 한 번으로 설치/관리하려면 Plugins Manager가 필수입니다.

JMeter Plugins Manager 공식 설치 웹사이트

  1. jmeter-plugins.org 공식 다운로드 페이지에서 jmeter-plugins-manager-x.x.jar 파일 다운로드
  2. 다운로드한 .jar 파일을 JMeter 설치 경로의 lib/ext/ 디렉터리에 복사
  3. JMeter 재시작 후, 상단 메뉴 Options -> Plugins Manager 선택

실무 추천 필수 플러그인 3선

1. Custom Thread Groups (실제 트래픽 패턴 시뮬레이션)

  • 어떤 문제 해결?: 기본 Thread Group은 사용자가 선형으로만 증가하지만, 실제 시스템은 점진적 증가, 순간 폭주(Spike), 계단식 증가 등 다양한 패턴을 보입니다.
  • 주요 기능:
    • Stepping Thread Group: 단계별(Step)로 가상 사용자를 늘려가며 한계점을 측정.
    • Concurrency Thread Group: 목표 TPS/동시 접속자 수를 일정하게 유지.
    • Ultimate Thread Group: 시간대별로 세밀한 스파이크 트래픽 조절.
  • 실무 활용: ERP 시스템의 아침 출근 시간대(8시 50분~9시 10분) 동시 접속자 폭주 시나리오를 정밀하게 구현할 때 사용합니다.
  • 2. PerfMon Server Agent (서버 자원 실시간 모니터링)
  • 어떤 문제 해결?: JMeter는 부하를 주는 단말기 측 지표(응답시간, TPS)만 측정하지만, 부하가 가해질 때 대상 서버의 CPU, RAM, Disk I/O, Network 상태를 함께 봐야 병목 원인을 파악할 수 있습니다.
  • 주요 기능:
    • 대상 서버(ERP/WAS/DB)에 가벼운 ServerAgent 프로그램을 띄워두고, JMeter에서 실시간 자원 사용률 그래프를 함께 측정.
  • 실무 활용: TPS가 떨어지는 시점에 WAS 서버의 Memory Leak이 발생하는지, DB 서버의 CPU가 100%를 치는지 한 화면에서 동시 검증합니다.
  • 3. Throughput Shaping Timer (정확한 목표 TPS 제어)
  • 어떤 문제 해결?: 가상 사용자(Thread)를 100명 설정했다고 해서 초당 처리량(TPS)이 100이 되는 것은 아닙니다. 서버 응답 속도에 따라 TPS가 무작위로 변동합니다.
  • 주요 기능:
    • 목표로 하는 TPS(예: 초당 500건)를 상수로 입력하면, JMeter가 알아서 요청 간격(Delay)을 미세 조정하여 목표 TPS를 일정하게 유지.
  • 실무 활용: "우리가 목표로 하는 초당 300건 처리를 시스템이 견디는가?"를 테스트할 때 인가 트래픽을 정확하게 고정하는 용도로 쓰입니다.

커스터마이징 HTML 대시보드 리포트 세팅

JMeter는 CLI(Non-GUI) 모드로 테스트를 실행하면 APM 수준의 아주 매력적인 HTML Dashboard 리포트를 만들어 줍니다.

1. 기본 HTML 리포트 생성 명령 (CLI)

jmeter -n -t [테스트시나리오.jmx] -l [결과저장.jtl] -e -o [리포트출력폴더]

2. 리포트 커스터마이징 기법 (user.properties 수정)

JMeter 설치 폴더 내 bin/user.properties 파일을 메모장으로 열어 아래 설정을 수정하면 리포트의 타이틀, 그래프 시간 간격, 지표 단위를 맞춤형으로 변경할 수 있습니다.

  1. 대시보드 제목 변경: `jmeter.reportgenerator.report_title=ERP Performance Test Analysis Report`
  2. 그래프 시간 세동성 설정: `jmeter.reportgenerator.overall_granularity=1000`
  3. APM 성능 지표(Apdex) 만족 기준시간 설정: `jmeter.reportgenerator.apdex_satisfied_threshold=500` / `jmeter.reportgenerator.apdex_tolerated_threshold=1500`

3. HTML 템플릿 레이아웃 직접 수정

더 깊이 있게 디자인이나 로고를 바꾸고 싶다면, bin/report-template/index.html.fmkr 파일 및 관련 CSS를 수정하여 회사 로고를 집어넣거나 불필요한 그래프 항목을 제거해 맞춤형 보고서 양식을 만들 수 있습니다.


출처 및 참고 문서 (External Resources)

반응형

+ Recent posts