상단

Web Application 성능 테스트 도구인 오픈소스 JMeter를 소개 한다.

 
 

설치 가이드


  • 다운로드 사이트에서 jakarta-jmeter-2.4.zip 파일을 다운로드 하여 c:/jmeter/ 폴더에 압축을 푼다.

    • c:/jmeter/bin/jmeter.bat 를 실행하여 JMeter를 사용하세요.

 
 

사용자 가이드


JMeter의 Element

  • JMeter에서 사용 가능한 요소(element)를 설명 한다.
    {| cellspacing="1" cellpadding="1" border="1" width="100%" 
    |- 
    |width="20%" bgcolor="cyan" align="center" valign="middle"|구성 요소 
    |width="80%" bgcolor="cyan" align="center" valign="middle"|상세 설명 |- |align="center"|'''Thread Group''' |

  • 가장 기본이 되는 요소로 성능 테스트를 할 클라이언트의 모음 이다.

    • Number of Threads (users) : 접속하는 사용자 수

    • Ramp-Up Period (in seconds) : 1부터 사용자 수를 증가할 때의 간격 (초)

    • Loop Count : 사용자 당 서버에 요청되는 횟수

      • Forever가 체크 되었을 경우, 수동으로 정지 하기 전까지 계속 요청이 전송됨

  • "Run -> Start" 메뉴(Ctrl-R)을 선택하면 성능 테스트를 실시 한다.
    align="center"
    -
    align="center"
  • HTTP Cookie Manager : Cookie를 관리 한다.
    align="center"
    -
    align="center"
    -
    align="center"
  • 성능(부하) 테스트를 하기 위해 실제로 부하를 걸어 주는 요소

  • HTTP Request (ex. http://www.jopenbusiness.com/tc/oss?page=2)

    • Server Name or IP : 서버의 URL이나 IP 정보 (ex. www.jopenbusiness.com)

    • Method : 웹 페이지 접속 방식으로 GET 또는 POST (ex. GET)

    • Path : 서버의 Path (ex. /tc/oss)

    • Send Parameters With the Request : 전달되는 Parameter (ex. Name : page, Value : 2)
      align="center"
      -
      align="center"
      -
      align="center"
  • 테스트 결과를 다양한 형태로 보여 주는 요소
    |}


  • 간단한 JMeter Thread Group 구성 예
    그림:JMeter User 01.png

 

성능 테스트


  • 방법 1 : 허용 응답시간을 만족하는 동시 사용자

    • 동시 사용자가 호출 간격마다 서비스를 호출

    • 응답 시간을 만족하는 최대 동시 사용자

  • 방법 2 : 최대 허용 동시 사용자 (임계시험)

    • 응답 시간을 일정하게 유지한 채 처리량이 선형적으로 증가하다가 성능 개선이 이루어지지 않는 시점

 

  • 전체 사용자 (Named User)

  • 동시 사용자 (Concurrent User) : Active User + Inactive User

    • 권장 : Named User * 10%

  • 응답시간 (Response Time)

    • 권장 : 한국 7초, 미국 10초

  • Think Time

    • 권장 : 20초

    • TM(Telemarketing) 시스템 : 10~ 15초

    • MIS/인트라넷 시스템 : 15~20초

    • 인터넷 뱅킹 시스템 : 30~ 35초

    • 온라인 쇼핑몰 시스템 : 30~40초

    • 포털 시스템 : 40초 이상

  • 호출 간격 (Request Interval) : Response Time + Think Time

  • 처리량 (Throughput) : TPS, BPS, tpmC, mips 등

    • Concurrent User / Request Interval

 
 

성능테스트 도구


  • requestmon : 응답이 느린 웹 서비스(Servlet) 목록 확인 도구

 
 

참고 문헌


 
 

분류: 오픈소스 
튜닝

최종 수정일: 2024-09-30 12:26:18

이전글 :
다음글 :