JMeter

JMeter 개요

설치 및 실행

  • Windows 설치
  • Mac 설치
    • 플러그인과 함께 설치 : brew install jmeter –with-plugins
    • 실행 : open /usr/local/bin/jmeter

플러그인 사용

성능테스트 예제 : REST API 성능 테스트

  • 테스트 계획
    • Name : 테스트 계획 이름
  • 쓰레드 그룹
    • Test Plan > 우클릭 > Add > Thread (Users) > Thread Group
    • Name : 테스트할 Group의 이름
    • Number of Thread (users) : 테스트할 thread 수 (사용자 수)
    • Ramp-Up Period (in seconds) : Thread당 시작될 대기시간 (Thread수가 20개, Ramp-Up이 100초이면, 5(100/20)초마다 Thread가 하나씩 시작함 )
    • Loop Count : 반복 횟수, forever를 체크시 무한히 반복하며 Scheduler과 체크시 시간 조건을 사용 가능
  • 샘플러 #1
    • Thread Group > 우클릭 > Add > Sampler > HTTP Request
    • WebServer : Protocol은 http가 기본, Port 생략시 기본포트(80)
    • HTTP Request : 서버로 요청할 정보
  • 샘플러 #2
    • 요청할 정보를 csv파일에서 가져오기 위해서 Config Element 추가
    • Sampler(HTTP Request) > 우클릭 > Add > Config Element > CSV Data Set Config
    • ${memberId}는 csv에서 동적으로 가져오며, Name / Path 에서 사용가능
  • 리스너
    • 리스너용 plugin 추가 : Menu > Options > Plugins Manager > Avaliable Plugins 탭 > 3 Basic Graphs 추가
    • Thread Group > 우클릭 > Add > Listener >
      • View Results Tree
      • Summary Report
      • Aggregate Graph
      • jp@gc – Active Threads Over Time
      • jp@gc – Response Times Over Time
      • jp@gc – Transactions per Second
  • 후처리 #1
    • 응답결과가 Json 포멧일때 pretty하게 표현하기 위해 후처리
    • plugin 추가 : JSON/YAML Plugins
    • Thread Group > 우클릭 > Add > Post Processors > JSON Format Post Processor
  • 후처리 #2
    • JSON Format Post Processor 적용시 한글이 깨지는 문제가 발생함
    • JSR223 PostProcessor 적용하여 encoding 변경 가능
    • Thread Group > 우클릭 > Add > Post Processors > JSR223 PostProcessor
    • prev.setResponseData(new String(prev.getResponseData()), ‘UTF-8’)
  • 실행
    • Thread Group 또는 Sampler 선택 > Clear All (모든 로그 삭제) > Start 버튼 클릭
  • 업무용 샘플
    • Sampler(HTTP Request)를 여러개 등록하고, PostProcessor와 Listener는 공통으로 사용하고, 테스트하지 않을 Sampler는 Disable

댓글 남기기