12.4.4 Per Connection Egress Message Throttling
To protect servers in periods of excessive load, explicit egress message throttling and user-configurable Connection Pending Transaction limiting can be used as messages are aggregated from several ingress Peers (clients) and can overload the egress Peer (server).
To assist with prevention of Diameter Peer overload, signalling provides a method for throttling the volume of Diameter Request traffic sent to a Peer Connection. The Egress Message Rate (EMR) on a Connection being throttled is equivalent to the egress Request rate + the egress Answer rate on the Connection. The allowed maximum egress message rate (Max EMR) can be configured per Connection.
The Per Connection Egress Message Throttling (PCEMT) feature works in conjunction with the User Configurable Message Priority feature to provide intelligent load shedding based on the volume of the offered load as shown in Table 12-6. The load shedding is performed by dropping Requests based on Priority and the offered message rate. PCEMT sheds messages as the offered message rate gets closer to the configured Max EMR.
The User Configurable Message Priority feature provides the ability to configure Message Priority Configuration Sets that define the Priority. If a Message Priority Configuration Set is not assigned to the Connection to specify the Priority, load shedding is still performed but it is primarily restricted to Requests as all Requests are assigned a Priority of 0.
- Up to 128 Egress Message Throttling Configuration Sets are supported.
- Up to 500 Peer Connections can have egress message throttling enabled in a single NE.
Interaction with the Alternate Routing Across Route Groups in a route List Feature
PCEMT can be used in conjunction with the Alternate Routing Across Route Groups feature to route all throttled Requests using non-preferred Route Groups when all Connections in the preferred Route Group are congested. Eligible Peers or Connections from the other priority Route Groups of the Route List can be used to deliver a Request after all the Peers or Connections in the current Route Group are exhausted. Alternate Routing Across Route Groups is attempted only if the Maximum Per Message Forwarding Allowed (configured in the Diameter Configuration Routing Option Sets) is not exceeded.
For example, a Route List is configured with two Route Groups. The Preferred Route Group contains two HSSs, HSS-1 and HSS-2 each with one Connection and the Non-Preferred Route Group contains HSS-3 and HSS-4, each with one Connection. If the Connection(s) to both HSS-1 and HSS-2 exceed Throttle Threshold X, Requests with Priority below X are routed to HSS-3 and HSS-4, while Requests with Priorities equal to or greater than X continue to be routed to HSS-1& HSS-2. If both, HSS-3 and HSS-4 exceed Throttle Threshold X, Requests with Priority less than X are discarded.
Diameter Configuration for Per-Connection Egress Message Throttling
The Message Priority Configuration Sets are provided by the User-Configurable Message Priority feature.
- Max EMR - the maximum volume of traffic that can be
served over a particular Connection depending on configuration and message
priorities.
For Peers that are deployed with multiple Connections, it is recommended as a guideline to set the Max EMR on each Connection by dividing the total capacity of the Peer by the number of Connections to the Peer.
Note:
The Max EMR is not the maximum volume that can be served, but it is the volume on which the Congestion Level percentages are calculated. - Throttle Threshold Levels and Abatement Levels 1, 2,
and 3 -
Abatement Threshold Levels - percent of Max EMR; when Threshold falls below the specified Level, the Connection Congestion Level is lowered.
Throttle Threshold Levels - percent of Max EMR; when the Threshold exceeds the specified Level, the Connection Congestion Level is raised.
The Max EMR and the TT-1 and AT-1 Thresholds must be configured. TT-2, AT-2, TT-3 and AT-3 are optional but have to be configured in pairs. For example, if TT-2 is configured, AT-2 must also be configured; and if TT-3/AT-3 is configured, TT-2/AT-2 must be configured.
Each EMR Throttle and Abatement Threshold Level pair dictates how the Connection congestion state is updated as indicated in Table 12-6. The offered rate is the value computed for EMRs configured with Convergence Time.
If TT-x (where x can be 1, 2 or 3) of a Connection is exceeded, only Requests with Priority below x are throttled while Requests with Priority x or greater are allowed over the Connection.
In an Egress Message Throttling Configuration Set, the Max EMR and the TT-1 and AT-1 Thresholds must be configured. TT-2, AT-2, TT-3 and AT-3 are optional but have to be configured in pairs. For example, if TT-2 is configured, AT-2 must also be configured; and if TT-3/AT-3 is configured, TT-2/AT-2 must be configured.
EMR throttling and onset requires only one EMR sample to exceed a Throttling Threshold to advance the EMR Congestion Level. Multi-step throttling is supported. For example, the EMR Congestion Level can be increased from CL-0 to either CL-1, CL-2, or CL-3 after one EMR sample period (every 15 milliseconds). This allows for a rapid response to traffic load increases while taking a more conservative approach to traffic load decreases.
Only single-step abatement is supported. For example, CL-3->CL-2 abatement is supported, but not CL-3->CL-1.
-
Table 12-6 Congestion Levels Based on Thresholds
Throttle (TT-X) and Abatement Thresholds (AT-X) Connection Congestion Level Impact Comments TT-3 When offered rate exceeds Threshold, Set Congestion Level (CL) = 3. Allows Answers; Blocks Priority 0,1,2 Requests AT-3 When offered rate falls below Threshold, Set Congestion Level = 2 Allows Answers and Priority 2 Requests; Blocks Priority 0,1 Requests TT-2 When offered rate exceeds Threshold, Set Congestion Level = 2 Allows Answers and Priority 2 Requests; Blocks Priority 0,1 Requests AT-2 When offered rate falls below Threshold, Set Congestion Level = 1 Allows Answers and Priority 2, 1 Requests; Blocks Priority 0 Requests TT-1 When offered rate exceeds Threshold, Set Congestion Level = 1. Allows Answers and Priority 2, 1 Requests; Blocks Priority 0 Requests AT-1 When offered rate falls below Threshold, Set Congestion Level = 0 Allows Answers and Priority 2, 1,0 Requests; Blocks None. - Convergence Time - The rate convergence time is the
amount of time it takes for the measured rate to converge on the actual rate.
For example, if the actual rate jumps from 0 MPS to 1000 MPS and the Rate Convergence Time is 5 seconds, then it takes that long for the measured rate to converge on the actual rate, and that long for the measured rate to be reported as follows:
- T(0) = 0 MPS
- T(1) = 200 MPS
- T(2) = 400 MPS
- T(3) = 600 MPS
- T(4) = 800 MPS
- T(5) = 1000 MPS
The EMR is calculated every 100ms by subtracting the oldest traffic count from the newest traffic count, and averaging the difference over the elapsed time between them.
- Abatement Time - amount of time that a throttled Connection's adjusted EMR must remain below an abatement level before allowing it to abate to a lower Congestion Level.
- A configured Egress Message Throttling Configuration Set must be configured.
- The configured Egress Message Throttling Configuration Set must be assigned to the Peer Connection that is to be throttled using the settings in that Egress Message Throttling Configuration Set.
- The Per Connection Egress Message Throttling Enabled
option must be checked on the
Disabling Egress Message Throttling has the same effect as un-assigning the Egress Message Throttling Configuration Set for all the Connections previously associated with an Egress Message Throttling Configuration Set.
GUI page.
All Egress Message Throttling Configuration Set parameters can be modified, but the Configuration Set cannot be deleted, while the associated Connections are in service.
Limitations
Given that the Per Connection Egress Message Throttling feature works per Connection and does not consider the throttling status on all the Connections to a Peer, it is possible that certain Connections to a Peer can experience Egress Message Throttling and discard messages while other Connections to the same Peer are not congested, thereby underutilizing the capacity of the Peer.
Because EMR is calculated every 90 milliseconds, EMR abatement can only occur on an integer-multiple of 90 milliseconds. For example, if the user defines an EMR Abatement Time of 500 milliseconds, then the actual abatement period would be 540 milliseconds (6 * 90 milliseconds).