본문 바로가기
BackEnd/Server

[JMeter] Apache JMeter Sampler 종류

by 푸고배 2021. 8. 3.

 JMeter Sampler란 

JMeter의 실제 작업을 수행하며, 각 샘플러(Flow Control Action 제외)는 하나 이상의 샘플 결과를 생성한다.

샘플 결과는 다양한 속성(성공/실패, 경과 시간, 데이터 크기 등)을 가지며 리스너를 통해 확인이 가능하다.

 

 JMeter Sampler 종류 

 FTP Request 

이 컨트롤러를 사용하면 FTP "파일 검색" 또는 "파일 업로드" 요청을 FTP 서버에 보낼 수 있다. 동일한 FTP 서버에 여러 요청을 보내려는 경우 FTP 요청 기본 구성 요소를 사용하여 각 FTP 요청 생성 컨트롤러에 대해 동일한 정보를 입력할 필요가 없도록 하자. 파일을 다운로드할 때 디스크(로컬 파일)나 응답 데이터 또는 둘 다에 저장할 수 있다.

대기 시간은 로그인하는 데 걸리는 시간으로 설정된다.

FTP Request의 제어판 스크린샷

Parameter

Attribute Description Required
Name 트리에 표시되는 이 샘플러를 설명하는 이름 No
Server Name or IP FTP 서버읟 도메인 이름 또는 IP 주소 Yes
Port 사용할 포트. > 0의 경우, 해당 특정 포트를 사용하고, <=0인 경우 JMeter는 FTP 기본 포트를 사용  No
Remote File 검색할 파일 또는 업로드할 대상 파일의 이름 Yes
Local File 업로드할 파일 또는 다운로드 대상(기본값은 원격 파일 이름) Yes, 업로드하는 경우
Local File Contents 업로드 콘텐츠를 제공하고 로컬 파일 속성을 재정의 Yes, 업로드하는 경우
get(RETR)/put(STOR) 파일을 검색할지 업로드할지 여부 Yes
Use Binary mode? 바이너리 모드(기본 ASCII)를 사용하려면 선택하십시오 Yes
Save File in Response? 검색된 파일의 내용을 응답 데이터에 저장할지의 여부
모드가 ASCII인 경우 내용은 결과보기 트리에 표시
Yes, 다운로드하는 경우
Username FTP 계정 사용자 이름 Usually
Password FTP 계정 비밀번호 Usually

 

 HTTP Request 

이 샘플러를 사용하면 웹 서버에 HTTP/HTTPS 요청을 보낼 수 있다. 또한 JMeter가 이미지 및 기타 임베디드 리소스에 대한 HTML 파일을 구문 분석하고 이를 검색하기 위해 HTTP 요청을 보낼지 여부를 제어할 수 있다. 다음 유형이 리소스가 검색된다.

  • 이미지
  • 애플릿
  • 스타일시트(CSS) 및 해당 파일에서 참조되는 리소스
  • 외부 스크립트
  • 프레임, iframe
  • 배경 이미지(본체, 테이블, TD, TR)
  • 배경음

기본 파서는 org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser 이다. " htmlparser.className " 속성을 사용하여 변경할 수 있다. jmeter.properties를 참고하자.

 

동일한 웹 서버에 여러 요청을 보내려는 경우 HTTP 요청 기본값 구성 요소를 사용하여 각 HTTP 요청에 대해 동일한 정보를 입력할 필요가 없도록 해야한다.

또는 HTTP 요청을 수동으로 추가하는 대신 JMeter의 HTTP(S) 테스트 스크립트 레코더 를 사용하여 생성할 수 있다. 이렇게 하면 HTTP 요청이 많거나 매개변수가 많은 요청이 있는 경우 시간을 절약할 수 있다.

 

샘플러를 정의하는 데 사용되는 세 가지 테스트 요소가 있다.

 

AJP/1.3 Sampler

Tomcat mod_jk 프로토콜 사용(Apache httpd없이 AJP 모드에서 Tomcat 테스트 가능) AJP 샘플러는 다중 파일 업로드를 지원하지 않는다. 첫 번째 파일만 사용된다.

여기에는 사용할 HTTP 프로토콜 구현을 선택하는 구현 드롭다운 상자가 있다.

  • Java : JVM에서 제공하는 HTTP 구현을 사용한다. 이것은 HttpClient 구현과 비교하여 몇 가지 제한사항이 있다. 아래를 참고한다.
  • HTTPClient4 : Apache HttpComponents HttpClient 4.x를 사용한다.
  • Blank Value : HTTP 샘플러에 대한 구현을 설정하지 않으므로 HTTP Request 기본값이 있는 경우 또는 jmeter.properties에 정의된 jmeter.httpsampler 속성에 의존한다.

GraphQL HTTP Request

GraphQL 쿼리 , 변수 및 작업 이름 을 보거나 편집하는 더 편리한 UI 요소를 제공 하는 동시에 동일한 샘플러를 사용하여 후드 아래에서 HTTP 인수로 자동 변환 하는 HTTP 요청 의 GUI 변형이다 . 이것은 HTTP/HTTPS를 통한 GraphQL 요청에 덜 편리하거나 관련이 없기 때문에 다음 UI 요소를 숨기거나 사용자 지정한다. 

  • Method: HTTP 사양을 통해 GraphQL을 준수하는 POST 및 GET 메서드만 사용할 수 있다. 기본적으로 POST 방법이 선택된다.
  • Parameters and Post Body tabs: 대신 쿼리, 변수 및 작업 이름 UI 요소를 통해 매개변수 내용을 보거나 편집할 수 있다.
  • File Upload tab: GraphQL 쿼리와 관련이 없다.
  • Embedded Resources from HTML Files section in the Advanced tab: GraphQL JSON 응답과 관련이 없다.

Java HTTP 구현에는 몇 가지 제한 사항이 있다.

  • 연결을 재사용하는 방법을 제어할 수 없다. 연결이 JMeter에 의해 해제되면 동일한 스레드에서 다시 사용할 수도 있고 사용하지 않을 수도 있다.
  • API는 단일 스레드 사용에 가장 적합하다. 다양한 설정은 시스템 속성을 통해 정의되므로 모든 연결에 적용된다.
  • Kerberos 인증을 지원하지 않는다.
  • Keystore Config를 사용한 클라이언트 기반 인증서 테스트는 지원하지 않는다.
  • 재시도 메커니즘의 더 나은 제어
  • 가상 호스트를 지원하지 않는다.
  • GET , POST , HEAD , OPTIONS , PUT , DELETE 및 TRACE 메서드만 지원합니다.
  • DNS Cache Manager DNS 캐싱에 대한 더 나은 제어

요청에 서버 또는 프록시 로그인 인증이 필요한 경우(즉, 브라우저가 팝업 대화 상자를 생성하는 경우) HTTP 인증 관리자 구성 요소도 추가해야 한다 . 일반 로그인의 경우(즉, 사용자가 양식에 로그인 정보를 입력하는 경우) 양식 제출 버튼이 무엇을 하는지 알아내고 적절한 메소드(일반적으로 POST )와 양식 정의의 적절한 매개변수를 사용하여 HTTP 요청을 생성해야 한다. 페이지에서 HTTP를 사용하는 경우 JMeter 프록시를 사용하여 로그인 시퀀스를 캡처할 수 있다.

각 스레드에 대해 별도의 SSL 컨텍스트가 사용되며, 단일 SSL 컨텍스트(브라우저의 표준 동작이 아님)를 사용하려면 JMeter 속성을 설정하라.

https.sessioncontext.shared=true

기본적으로 버전 5.0부터 SSL Context는 Thread Group 반복 중에 유지되고 각 테스트 반복에 대해 재설정된다. Test Plan에서 동일한 User가 여러 번 반복하는 경우 이를 false로 설정해야 한다.

httpclient.reset_state_on_thread_group_iteration=true

※ 이것은 Java HTTP 구현에는 적용되지 않는다.

 

JMeter는 SSL 프로토콜 레벨 TLS로 기본 설정된다. 서버에 다른 수준(예: SSLv3 )이 필요한 경우 JMeter 속성을 변경한다. 예를 들면 다음과 같다.

https.default.protocol=SSLv3

JMeter는 또한 https.socket.protocols 속성을 변경하여 추가 프로토콜을 활성화할 수 있다 .

요청이 쿠키를 사용하는 경우 HTTP 쿠키 관리자 도 필요하다 . Thread Group 또는 HTTP Request에 이러한 요소 중 하나를 추가할 수 있다. 권한 부여 또는 쿠키가 필요한 HTTP 요청이 두 개 이상 있는 경우 스레드 그룹에 요소를 추가하라. 그렇게 하면 모든 HTTP Request Controller가 동일한 권한 부여 관리자와 쿠키 관리자 요소를 공유한다.

요청이 세션을 유지 관리하기 위해 "URL 재작성"이라는 기술을 사용하는 경우 추가 구성 단계는 6.1 URL 재작성으로 사용자 세션 처리 섹션을 참조하라.

Screenshot of Control-Panel of HTTP Request
HTTP Request Advanced config fields
Screenshot of Control-Panel of GraphQL HTTP Request
Variables field for GraphQL HTTP Request

 

Parameter

Attribute Description Required
Name 트리에 표시되는 이 샘플러를 설명하는 이름 No
Server 웹 서버의 도메인 이름 또는 IP주소(예: www.example.com ). [http:// 접두사를 포함하지 마십시오.] 참고: "Host" 헤더가 헤더 관리자에 정의되어 있으면 이 헤더가 가상 호스트 이름으로 사용된다.

다음을 제외하고 서버가 필요하다.
- HTTP 요청 기본값에 의해 제공된다.
- 또는 스키마, 호스트 및 포트(scheme : //host:port)를 포함하는 전체 URL이 이 경로 필드에 설정된다. 
No
Port 웹 서버가 수신 대기 중인 포트, 기본값 : 80 No
Connect Timeout 접속 시간 초과. 연결이 열릴 때까지 대기하는 시간(milliseconds) No
Response Timeout 응답 시간 초과. 응답을 기다리는 시간(milliseconds)
각 응답 대기에 적용되며 서버 응답이 여러chunk로 보내지면 전체 경과 시간이 제한 시간보다 길어질 수도 있다.

Duration Assertion는 완료하는데 시간이 너무 오래 걸릴 반등을 감지하는데 사용할 수 있다.
No
Server(proxy) 요청을 수행할 프록시 서버의 호스트 이름 또는 IP주소
[http:// 접두사를 포함하지 마십시오.]
No
Port 프록시 서버가 수신 대기 중인 포트 No
Username (Optional) 프록시 서버의 사용자 이름 No
Password (Optional) 프록시 서버의 비밀번호(NB 이것은 Test Plan에서 암호화되지 않은 상태로 저장됨) No
Implementation Java, HttpClient4. 지정되지 않은 경우(HTTP 요청 기본값에 의해 정의되지 않은 경우) 기본값은 JMeter 속성 jmeter.httpsampler의 값에 따라 달라지며, 그렇지 않으면 HttpClient4 구현이 사용됨 No
Protocol HTTP, HTTPS 또는 File. 기본값 : HTTP No
Method GET, POST, HEAD, TRACE, OPTIONS, PUT, DELETE, PATCH(JAVA 구현에서는 지원되지 않음)
HttpClient4, WebDAV를 관련된 다음과 같은 방법으로도 사용할 수 있음 : COPY, LOCK, MKCOL, MOVE, PROPFIND, PROPPATCH, UNLOCK, REPORT, MKCALENDAR, SEARCH

JMeter property httpsampler.user_defined_methods를 사용하여 HttpClient4에 대해 더 많은 메서드를 미리 정의할 수 있음
Yes
Content Encoding 사용할 콘텐츠 인코딩(POST, PUT, PATCHFILE).
사용할 문자 인코딩이며 Content-Encoding HTTP헤더와 관련이 없음
No
Redirect Automatically 기본 http 프로토콜 핸들러가 자동으로 리디렉션을 따르도록 설정하여 JMeter에서 볼 수 없으므로 샘플로 표시되지 않는다. GETHEAD 요청에만 사용해야 한다. HttpClient 샘플러는 POST 또는 PUT에 사용하려는 시도를 거부한다. No
Follow Redirects "자동으로 리디렉션"이 활성화되지 않은 경우에만 효과가 있다. 설정되면 JMeter 샘플러는 응답이 리디레션인지 확인하고 리디렉션이면 이를 따른다. 초기 리디렉션 및 추가 응답은 추가 샘플로 표시된다. 상위 샘플의 URL 및 데이터 필드는 최종(리디렉션되지 않은) 샘플에서 가져오지만 상위 바이트 수 및 경과 시간에는 모든 샘플이 포함된다. 대기 시간은 초기 응답에서 가져온다. HttpClient 샘플러는 다음 메시지를 기록할 수 있다.
 "Redirect requested but followRedirects is disabled" 
이것은 무시할 수 있다.
JMeter는 절대 및 상대 리디렉션 URL 모두에서 ' /../segment' 형식의 경로를 축소한다. 예를 들어 http://host/one/../two 는 http://host/two로 축소된다. 필요한 경우 JMeter 속성 httpsampler.redirect.removeslashdotdot=false를 설정하여 이 동작을 억제할 수 있다.

No
Use KeepAlive JMeter는 Connection: keep-alive 헤더를 설정한다. 연결 재사용이 사용자 제어 하에 있지 않기 때문에 기본 HTTP 구현에서는 제대로 작동하지 않는다. Apache HttpComponents HttpClient 구현과 함께 작동한다. No
Use multipart/form-data for HTTP POST multipart/form-data 또는 application/x-www-form-urlencoded post request 사용 No
Browser-compatible headers multipart/form-data를 사용하면 Content-TypeContent-Transfer-Encoding 헤더가 표시되지 않는다. 오직 Content-Disposition 헤더를 전송한다. No
Path 리소스 경로(예: /servlets/myServlet). 리소스에 쿼리 문자열 매개변수가 필요한 경우 아래 "Send Parameters With the Request" 섹션에 추가한다.

특별한 경우로, 경로가 "http://" 또는 "https://"로 시작하면 이것이 전체 URL로 사용된다.

이 경우 Server, Port 및 Protocol 필드는 무시된다. GET 및 DELETE 메소드에 대해서도 매개변수가 무시된다. 또한 경로는 %20으로 공백을 바꾸는 것 외에는 인코딩되지 않으므로 URISynntaxException과 같은 오류를 피하기 위해 안전하지 않은 문자를 인코딩해야할 수도 있다. 
No
Send Parameters With the Request 쿼리 문자열은 제공한 매개변수 목록에서 생성된다. 각 매개변수에는 name과 value, 매개변수를 인코딩하는 옵션, 등호를 포함하거나 제외하는 옵션이 있다(일부 애플리케이션은 값이 빈 문자열일 때 등호를 기대하지 않음). 쿼리 문자열은 선택한 "method"에 따라 올바른 방식으로 생성된다(즉, GET 또는 DELETE를 선택한 경우 POST 또는 PUT인 경우 쿼리 문자열이 URL에 추가된다., 그 이후에는 별도로 발송된다.) 또한 다중 파트 양식을 사용하여 파일을 보내는 경우 다중 파트 양식 사양을 사용하여 쿼리 문자열이 생성된다. 매개변수 처리에 대한 추가 정보는 아래를 참고하자.

또한 각 매개변수를 URL로 인코딩해야 하는지 여부를 지정할 수 있다. 이것이 무엇을 의미하는지 확실하지 않은 경우 선택하는 것이 가장 좋다. 값에 다음과 같은 문자가 포함되어 있으면 일반적으로 인코딩이 필요하다. :

  • ASCII 제어 문자
  • 비 ASCII 문자
  • 예약 문자: URL은 구문을 정의할 때 특별한 용도로 일부 문자를 사용합니다. 이러한 문자가 URL 내에서 특정 역할에 사용되지 않는 경우 인코딩해야 한다(예: ' $ ', ' & ', ' + ', ' , ' , ' / ', ' : ', ' ; ', ' = ', ' ? ', ' @ '
  • 안전하지 않은 문자: 일부 문자는 다양한 이유로 URL 내에서 오해될 가능성이 있다. 이러한 문자도 항상 인코딩되어야 한다(예: ' ', ' < ', ' > ', ' # ', ' % ', …
No
File Path: 보낼 파일의 이름이다. 공백으로 두면 JMeter가 파일을 보내지 않고 채워지면 JMeter가 자동으로 요청을 multipart 양식 요청으로 보낸다.

POST 또는 PUT 또는 PATCH 요청이고 'Parameter name' 속성(아래)이 생략된 단일 파일이 있는 경우 파일은 요청의 전체 본문으로 전송된다. 즉, wrapper가 추가되지 않는다. 이를 통해 임의의 본문을 보낼 수 있다. 이 기능은 POST 요청과 PUT 요청에 대해 제공된다. 매개변수 처리에 대한 추가 정보는 아래를 참조한다.
No
Parameter name: "name" Web Request Parameter의 값이다. No
MIME Type MIME 유형(예: text/plain). POST 또는 PUT 또는 PATCH 요청이고 'name' 속성(아래)이 생략되었거나 요청 본문이 매개변수 값만으로 구성된 경우 이 필드의 값이 content-type request header의 값으로 사용된다. No
Retrieve All Embedded Resources from HTML Files HTML 파일을 구문 분석하고 파일에서 참조되는 모든 이미지, Java 애플릿, JavaScript 파일, CSS 등에 대한 HTTP/HTTPS 요청을 보내도록 JMeter에 지시한다. 자세한 내용은 아래를 참조한다. No
Save response as MD5 hash? 선택하면 응답이 샘플 결과에 저장되지 않는다. 대신 데이터의 32자 MD5 해시가 대신 계산되어 저장된다. 이것은 많은 양의 데이터를 테스트하기 위한 것이다. No
URLs must match: 있는 경우 발견된 포함된 URL과 일치시키는 데 사용되는 정규식이어야 합니다. 따라서 http://example.invalid/에서 포함된 리소스만 다운로드하려면 http://example\.invalid/.* 표현식을 사용하십시오. No
URLs must not match: 있는 경우 발견된 포함된 URL을 필터링하는 데 사용되는 정규식이어야 한다. 따라서 어떤 소스에서도 PNG 또는 SVG 파일을 다운로드하지 않으려면 .*\.(?i:svg|png) 표현식을 사용한다. No
Use concurrent pool 임베디드 리소스를 얻으려면 동시 연결 풀을 사용한다. No
Size 포함된 리소스를 가져오는데 사용되는 동시 연결의 풀 크기이다. No
Source address type [HTTPClient 구현이 있는 HTTP 요청에만 해당]
소스 주소 값을 구별하려면 다음 유형을 선택합니다.
  • 특정 IP 주소 또는 (로컬) 호스트 이름 을 사용하려면 IP/호스트 이름 을 선택한다.
  • 선택 장치를 이 IPv4 또는 IPv6를 할 수 인터페이스에 대한 첫 번째 사용 가능한 주소를 선택하는
  • 선택 장치의 IPv4는 (같은 장치 이름의 IPv4 주소를 선택 eth0 , LO , em0 등)
  • 선택 장치 IPv6은 (같은 장치 이름의 IPv6 주소를 선택 eth0,LO,em0 등)
No
Source address field [HTTPClient 구현이 있는 HTTP 요청에만 해당] 이 속성은 IP 스푸핑을 활성화하는 데 사용된다. 이 샘플의 기본 로컬 IP 주소를 재정의한다. JMeter 호스트에는 여러 IP 주소(예: IP 별칭, 네트워크 인터페이스, 장치)가 있어야 한다. 값은 호스트 이름, IP 주소 또는 "eth0", "lo" 또는 "wlan0" 과 같은 네트워크 인터페이스 장치일 수 있다 . httpclient.localaddress
속성 이 정의되면 모든 HttpClient 요청에 사용된다.
No

 

다음 매개변수는 GraphQL HTTP Request에만 사용할 수 있다.

 

Prameter

Attribute Description Required
Query GraphQL 쿼리(또는 변형) 문 Yes
Variables 유효한 JSON 문자열의 GraphQL 쿼리(또는 변형)변수. 참고 : 입력 문자열이 유효한 JSON 문자열이 아닌 경우 ERROR 로그와 함께 무시된다. No
Operation Name 다중 작업 문서를 요청할 때 선택적인 GraphQL 작업 이름이다. No

 

자동 리디렉션을 사용하는 경우 쿠키는 초기 URL에 대해서만 전송된다. 이로 인해 로컬 서버로 리디렉션되는 웹 사이트에 예기치 않은 동작이 발생할 수 있다. 경우 예 : www.example.com 리디렉션에 www.example.co.uk . 이 경우 서버는 두 URL 모두에 대해 쿠키를 반환할 것이지만 JMeter는 마지막 호스트(예: www.example.co.uk)에 대한 쿠키만 볼 수 있다. 테스트 계획의 다음 요청을 사용하는 경우 www.example.com 이 아닌 www.example.co.uk, 올바른 쿠키를 얻지 못합니다. 마찬가지로 헤더는 초기 요청에 대해 전송되고 리디렉션에 대해서는 전송되지 않는다. 레코더를 사용하여 만든 테스트 계획이 리디렉션된 URL에서 계속되기 때문에 이것은 일반적으로 수동으로 만든 테스트 계획의 경우에만 문제가 된다.

 

Parameter Handling:

POST 및 PUT 메서드의 경우 전송할 파일이 없고 매개 변수의 이름이 생략된 경우 매개 변수의 모든 값을 연결하여 본문을 만듭니다. 값은 줄 끝 문자를 추가하지 않고 연결된다. 값 필드의 __char() 함수를 사용하여 추가할 수 있다. 이렇게 하면 임의 본문을 보낼 수 있습니다. 인코딩 플래그가 설정된 경우 값이 인코딩된다. 전송되는 내용 유형 요청 헤더를 제어하는 방법 위의 MIME 유형도 참조한다.
다른 메서드의 경우 매개 변수의 이름이 누락되면 매개 변수가 무시된다. 이렇게 하면 변수에 의해 정의된 선택적 매개변수를 사용할 수 있다.

  • GWT RPC HTTP 요청
  • JSON REST HTTP 요청
  • XML REST HTTP 요청
  • SOAP HTTP 요청

Tree 노드를 벗어나면 해당 데이터에서 Body Data 탭을 지우지 않는 한 매개변수 탭으로 다시 전환할 수 없다.

 

Body Data 모드에서는 마지막 줄과 별도로 CRLF가 추가된 상태로 각 줄이 전송된다. 마지막 데이터 행 뒤에 CRLF를 보내려면 뒤에 빈 줄이 있는지 확인하십시오(커서가 다음 행에 배치될 수 있는지 여부를 확인하는 것 외에는 볼 수 없다).

Figure 1 - HTTP Request with one unnamed parameter
Figure 2 - Confirm dialog to switch
Figure 3 - HTTP Request using Body Data

Method Handling:

GET, DELETE, POST, PUT 및 Patch 요청 메서드는 유사하지만 3.1부터는 POST 메서드만 다중 파트 요청 또는 파일 업로드를 지원한다. PUT 및 Patch 메서드 본문은 다음 중 하나로 제공되어야 한다.

  • 본문을 빈 매개변수 이름 필드가 있는 파일로 정의한다. 이 경우 MIME 유형이 Content-Type으로 사용됩니다.
  • 본문을 이름이 없는 매개변수 값으로 정의
  • Body Data 탭 사용

GET, DELETEPOST 메서드에는 매개 변수 탭을 사용하여 매개 변수를 전달하는 추가적인 방법이 있다. GET, DELETE, PUTPatch에는 Content-Type이 필요하다. 파일을 사용하지 않는 경우 헤더 관리자를 샘플러에 첨부하고 내용 유형을 정의한다.

포함된 리소스의 JMeter 검색 응답이다. htmlParser, cssParser 및 wmlParser와 같은 구문 분석 ID의 목록인HTTPResponse.parsers 속성을 사용한다. 발견된 각 ID에 대해 JMeter는 두 가지 추가 속성을 확인한다.

  • id.types - 내용 유형 목록
  • id.className - 포함된 리소스를 추출하는 데 사용되는 구문 분석기

설정에 대한 자세한 내용은 jmeter.properties 파일을 참고한다. HTTPResponse.parser 속성이 설정되어 있지 않으면 JMeter가 이전 동작으로 되돌아간다. 즉, text/html 응답만 검사된다.

 

Emulating slow connections:

HttpClient4 및 Java 샘플러는 느린 연결의 에뮬레이션을 지원한다. jmeter.properties 에서 다음 항목을 참고한다.

# 느린 연결을 에뮬레이트하려면 초당 문자 수 > 0 정의

#httpclient.socket.http.cps=0

#httpclient.socket.https.cps=0

 

Response size calculation:

Java 구현 응답 본체 사이즈 청크 헤더 등의 오버 헤드 등의 이동을 포함하지 않는다. 

HttpClient4 구현 값은 상기 응답 콘텐츠의 바이트 수보다 클 수 있도록, 응답 신체 크기의 오버 헤드를 포함한다.

 

Retry handling:

기본적으로 재시도는 HttpClient4 및 Java 구현 모두에 대해 0으로 설정되어 있으므로 재시도가 시도되지 않는다.
HttpClient4의 경우 관련 JMeter 속성을 설정하여 재시도 횟수를 재정의할 수 있다. 예를 들면 다음과 같다.

httpclient4.retrycount=3

 

HC4 구현을 사용하면 기본적으로 Idempotent Http 메서드에서 재시도가 수행됩니다. 모든 방법에 대해 다시 시도하려면 속성을 설정하십시오.

httpclient4.request_sent_retry_enabled=true

 

Java 구현은 기본적으로 다시 시도하지 않는다. 다음을 설정하여 변경할 수 있다.

http.java.sampler.retries=3

 

그 외의 Sampler는 하단의 참고자료를 참고한다.

 

참고자료 :

 

Apache JMeter - User's Manual: Component Reference

18 Introduction¶ Several test elements use JMeter properties to control their behaviour. These properties are normally resolved when the class is loaded. This generally occurs before the test plan starts, so it's not possible to change the settings by usi

jmeter.apache.org

 

반응형

댓글