Load balancing
This guide describes the agent options that configure the traffic throttling options for Java application servers. The following includes the features to limit the maximum number of concurrent requests for applications and control service accesses based on specific users or URLs. It provides various options such as sending custom messages, setting URL redirections, and enabling event notifications, to ensure stability of applications under overload situations.
The throttling option of the Java agent applies to only Servlet-based applications. The servers that support this option are servlets such as Tomcat, Weblogic, and Undertow. However, the latest version of Spring does not support this option.
-
throttle_enabled Boolean
Default
false
It activates the throttling function that limits the maximum concurrent processes for an application. All options that start with "throttle_" work in
throttle_enabled=true
.The priorities of throttling control policies are as follows:
-
Block: Services are blocked based on the URL and user IP address. It is applied first.
-
Passing: URLs applied to Passing take precedence over Reject policies.
-
Reject: Reject policies are applied after Block and Passing policies.
-
-
throttle_limit Int
Default
10000
If the number of concurrent requests (transactions) for each agent exceeds the set value, additional requests are rejected.
-
throttle_rejected_message String
Default
too many request!!
Set the message to send to users when throttling is restricted.
-
throttle_rejected_forward String
Set the guide page URL that is delivered to users when user requests are rejected due to over the limit. If multiple
throttle_rejected_message
settings have been set,throttle_rejected_forward
is applied first.CautionIf the guide pages are served in the same container, it can be an obstacle due to recursive calls because the pages are also considered as the number of concurrent processes. Thus, the guide page must be created as a static HTML page or must be outside.
-
reject_event_enabled Boolean
Default
false
Set whether or not to issue an event notification when any user request is rejected.
-
reject_event_interval MiliSecond
Default
30000
Alerts for duplicate events do not occur for the set time after an event notification for Reject has occurred.
-
throttle_blocking_url String
Set the URL to block (or reject) even when
throttle_limit
is not exceeded. It can urgently block URLs that cause system failures. -
throttle_blocking_ip ip_address
Set to block users based on the IP address. It can be used to block DDoS attacks and users based on the IP address. Use comma (,) as the delimiter in case of multiple items.
-
throttle_target_urls String
Apply the throttling function to the registered URLs. Use comma (,) as the delimiter in case of multiple items.
-
throttle_passing_url String
Even when
throttle_limit
is exceeded, set the URL for processing. Use comma (,) as the delimiter in case of multiple items. -
throttle_passing_url_prefix String
Even when
throttle_limit
is exceeded, set the URLs for processing. Use comma (,) as the delimiter in case of multiple items. -
throttle_blocked_message String
Default
request blocked!!
Set the message to be delivered to the users whose requests have been blocked.
-
throttle_blocked_forward String
Set the URL to forward to the users whose requests have been blocked. If multiple
throttle_rejected_message
settings have been set,throttle_rejected_forward
is applied first.