본문으로 바로가기

JMeter를 이용한 서버 STRESS 테스트 워크플로우

category IT 2023. 7. 12. 22:01
반응형

JMeter는 오픈소스 로드 테스팅 도구로서, 서버나 네트워크에 부하를 주고 성능을 테스트하는 데 사용됩니다. 아래의 단계별 가이드를 통해, localhost:8090에 위치한 특정 서버에 요청을 보내는 스트레스 테스트를 진행하는 방법을 알아보겠습니다.

1단계: JMeter 설치


JMeter를 사용하기 위해서는 먼저 JMeter를 설치해야 합니다. 공식 사이트에서 최신 버전의 JMeter를 다운로드하고 설치하십시오. 설치 후 JMeter를 실행하여 메인 화면이 표시되는지 확인합니다.


2단계: 테스트 플랜 생성

ZIP 파일 다운로드 후 압축해제

bin 폴더에 들어가면 실행 jar 파일이 있습니다

 

ApacheJMeter.jar 파일을 실행하면 JMeter가 실행됩니다

테스트 플랜은 당신의 스크립트가 어떻게 동작할지를 정의합니다. 왼쪽 메뉴에서 테스트 플랜을 오른쪽 클릭 후 '새로 만들기'를 선택하여 테스트 플랜을 생성하십시오.


3단계: 스레드 그룹 추가

스레드 그룹은 동시 사용자의 수를 정의합니다. 테스트 플랜을 오른쪽 클릭하고, '스레드 그룹 추가'를 선택하십시오. 이 그룹 안에서 스레드 수(사용자 수), 루프 카운트(각 사용자가 테스트를 몇 번 실행할지), Ramp-Up Period(사용자가 시스템에 도달하는 시간) 등을 설정할 수 있습니다.

4단계: HTTP 요청 기본 설정

HTTP 요청의 기본 설정을 할 수 있는 요소를 추가합니다. 스레드 그룹을 오른쪽 클릭 후 '설정 요소' → 'HTTP 요청 기본값'을 선택하십시오. 서버 이름 또는 IP에 'localhost', 포트 번호에 '8090'을 입력합니다. 이 설정을 통해 모든 HTTP 요청이 localhost:8090으로 전송됩니다.


5단계: HTTP 요청 추가

스레드 그룹에 '샘플러' → 'HTTP 요청'을 추가합니다. 여기에서는 특정 서버에 어떤 종류의 HTTP 요청(GET, POST 등)을 보낼지를 정의합니다.

 

반응형


6단계: 결과를 보기 위한 리스너 추가

리스너는 테스트 실행 결과를 시각적으로 표현합니다. 스레드 그룹에 '리스너' → '그래프 결과' 또는 '결과 트리'를 추가하십시오. 여기에서는 실행한 테스트의 성공 여부, 응답 시간 등 다양한 결과를 확인할 수 있습니다.


7단계: 테스트 실행

모든 설정이 완료되면 상단 메뉴의 '실행' 버튼을 눌러 테스트를 시작합니다.

 

JMeter를 이용하여 HTTP 헤더를 설정하고 바이너리 파일을 포함하여 요청을 보내는 방법을 다음과 같습니다.

1단계: HTTP 헤더 관리자 추가

HTTP 요청에 HTTP 헤더를 추가하기 위해서는 HTTP 헤더 관리자를 사용해야 합니다. '스레드 그룹' 또는 'HTTP 요청'을 오른쪽 클릭하고 '설정 요소' → 'HTTP 헤더 관리자'를 선택하세요.

HTTP 헤더 관리자 화면에서 '헤더 추가' 버튼을 눌러 필요한 헤더를 추가할 수 있습니다. 예를 들어, 'Name'에 'Content-Type', 'Value'에 'application/octet-stream'을 입력합니다. 이는 요청의 본문이 바이너리 데이터임을 서버에 알리는 역할을 합니다.

2단계: HTTP 요청에서 바이너리 파일 추가

HTTP 요청에 바이너리 파일을 첨부하려면, HTTP 요청 설정에서 다음과 같이 설정하십시오.

HTTP Request 메뉴에서 'POST' 메소드를 선택합니다.
'Send Files with the Request' 체크박스를 선택하고, 파일을 추가합니다.
'File Path'에 파일의 절대 경로를 입력하고, 'Parameter Name'에 해당 파일에 대한 참조 이름을 입력합니다.
'MIME Type'에 'application/octet-stream'을 입력합니다.

3단계: 테스트 실행

모든 설정이 완료되면 상단 메뉴의 '실행' 버튼을 눌러 테스트를 시작합니다.

이렇게 설정하면, JMeter가 HTTP 요청시에 설정한 헤더와 함께 바이너리 파일을 첨부하여 요청을 보냅니다. 리스너에서는 해당 요청의 응답 상태와 시간 등 다양한 정보를 확인할 수 있습니다.

 

반응형