77 Configuring System Overload Protection

Learn how to implement system overload protection in Oracle Communications Billing and Revenue Management Elastic Charging Engine (ECE).

Topics in this document:

Configuring System Overload Protection

System overload causes charging nodes to become stuck or busy. The following scenarios might cause an overloaded system:

  • An undersized ECE deployment

  • Large batches of offline records

  • Bulk customer updates that trigger numerous update requests

When the usage request throughput from ECE is too large for the system to handle, ECE reduces its throughput until it reaches a sustainable error-free level. It informs the client of any submitted requests that are not able to be processed. Update, management, query, top-ups and debit refunds requests are always accepted, even when the system is overloaded.

Overload protection uses thread pools to accept and process requests submitted to the system. Thread pools improve performance when executing large numbers of updates because of the reduced per-update overhead. They also provide a means of bounding and managing the resources, including requests.

The value of the pending count should generally be at least equal to the number of thread counts. Select this value carefully, based on the expected throughput of the ECE instance and the expected latency of each request as revealed by your performance testing results.

To configure system overload protection:

  1. Access the ECE configuration MBeans in a JMX editor, such as JConsole. See "Accessing ECE Configuration MBeans".

  2. Expand the ECE Configuration node.

  3. Expand BatchRequestService.

  4. Expand Attributes.

  5. Specify values for the overload protection attributes described in Table 77-1.

  6. Save your changes.

Note:

When the following MBean attributes are set, they are not persisted. If the client is restarted, attributes are reset to their default values.

Table 77-1 MBean Attributes to Configure Overload Protection

MBean Attribute Description

AcceptablePendingCount

Number of requests accepted and queued to be processed. ECE rejects the requests if the number of pending requests in the queue exceeds this value. This value should be greater than the value of the Thread Pending Count attribute.

AcceptedTaskCount

Number of requests accepted for processing since the start of the ECE instance. This attribute is read-only.

BatchSize

Size of the ECE batch when it is submitted for processing.

BatchTimeOut

Amount of time ECE waits before the batch is submitted for processing, irrespective of how much the batch is filled.

OverloadProtection

Flag that enables overload protection. The default is disabled (false).

RejectedTaskCount

Number of requests rejected since the start of the ECE instance. This attribute is read-only.

ThreadPendingCount

Number of requests pending in the queue. This attribute is read-only.