Skip to main content

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.

Note

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:

    1. Block: Services are blocked based on the URL and user IP address. It is applied first.

    2. Passing: URLs applied to Passing take precedence over Reject policies.

    3. 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.

    Caution

    If 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.