부하량 제어
자바(Java) 애플리케이션 서버의 트래픽 쓰로틀링 옵션을 설정하는 에이전트 옵션을 안내합니다. 애플리케이션의 최대 동시 요청 수를 제한하고, 특정 사용자나 URL을 기준으로 서비스 접근을 제어하는 기능을 포함합니다. 사용자 정의 메시지 전송, URL 리다이렉션 설정, 이벤트 알림 활성화 등 다양한 옵션을 제공하여 과부하 상황에서 애플리케이션의 안정성을 보장할 수 있습니다.
Java 에이전트의 쓰로틀링 옵션은 Servlet 기반 애플리케이션에만 적용됩니다. 이 옵션을 지원하는 서버는 Tomcat, Weblogic, Undertow 등의 Servlet이며, 최신 버전의 Spring은 해당 옵션을 지원하지 않습니다.
-
throttle_enabled Boolean
기본값
false
애플리케이션의 최대 동시 처리 수를 제한하는 쓰로틀링 기능을 활성화합니다. throttle_으로 시작하는 모든 옵션은
throttle_enabled=true
상태에서만 동작합니다.쓰로틀링 제어 관련 정책의 우선 순위는 다음과 같습니다.
-
Block: URL, 사용자 IP 주소 기준으로 서비스를 차단하며 가장 우선 적용합니다.
-
Passing: Passing에 적용된 URL들은 Reject 정책보다 우선합니다.
-
Reject: Block, Passing 정책 이후에 Reject 정책을 적용합니다.
-
-
throttle_limit Int
기본값
10000
에이전트 별 동시 처리하는 요청(트랜잭션) 수가 설정한 값을 초과하면 추가로 도달하는 요청은 reject 합니다.
-
throttle_rejected_message String
기본값
too many request!!
쓰로틀링을 제한할 경우 사용자에게 전달할 메시지를 설정합니다.
-
throttle_rejected_forward String
사용자 요청이 limit 값을 초과해 reject 될 때 사용자에게 전달하는 안내 페이지 URL을 설정합니다.
throttle_rejected_message
를 동시 설정한 경우throttle_rejected_forward
를 우선 적용합니다.주의안내 페이지를 동일한 컨테이너에서 서비스한다면, 이 역시 동시 처리 수로 산정하므로 재귀 호출로 인한 장애 요소가 될 수 있습니다. 그러므로 안내 페이지는 static html 페이지로 만들거나 외부에 있어야 합니다.
-
reject_event_enabled Boolean
기본값
false
사용자 요청을 Reject할 경우 이벤트 알림 발생 여부를 설정합니다.
-
reject_event_interval MiliSecond
기본값
30000
Reject에 대한 이벤트 알림 발생 후 설정한 시간 동안 중복 이벤트에 대한 알림은 발생하지 않습니다.
-
throttle_blocking_url String
throttle_limit
을 초과하지 않는 경우라도 블록킹(처리 거부)할 URL을 설정합니다. 시스템 장애를 유발하는 URL을 긴급하게 블록킹하기 위해 사용할 수 있습니다. -
throttle_blocking_ip ip_address
사용자 IP 주소를 기준으로 블록킹하고자 할 때 설정합니다. 디도스 공격이나 잘못된 사용자를 IP 주소 기반으로 차단할 때 사용할 수 있습니다. 여러 개인 경우 쉼표(,)를 구분자로 사용하세요.
-
throttle_target_urls String
등록한 URL을 대상으로 쓰로틀링 기능을 적용합니다. 여러 개인 경우 쉼표(,)를 구분자로 사용하세요.
-
throttle_passing_url String
throttle_limit
을 초과하는 경우라도 처리해야 하는 URL을 설정합니다. 여러 개인 경우 쉼표(,)를 구분자로 사용하세요. -
throttle_passing_url_prefix String
throttle_limit
을 초과하는 경우라도 처리해야 하는 URL들을 prefix로 설정합니다. 여러 개인 경우 쉼표(,)를 구분자로 사용하세요. -
throttle_blocked_message String
기본값
request blocked!!
요청을 블록킹한 사용자에게 전달할 메시지를 설정합니다.
-
throttle_blocked_forward String
요청을 블록킹한 사용자에게 전달할 URL을 설정합니다.
throttle_blocked_message
를 동시 설정한 경우throttle_blocked_forward
를 우선 적용합니다.