Overview of request flow prioritization
With Intelligent Management, we can define performance goals and bind them to specific subsets of the incoming traffic. During times of high load the on demand router and associated autonomic managers make workload management decisions. Since not all work is equally important, the ODR can forward different flows of requests more or less quickly to achieve the best balanced result.
Role of the ODR and the ODC
The ODR server acts as an HTTP proxy or SIP proxy. An ODR contains the autonomic request flow manager (ARFM), which prioritizes inbound traffic according to service policy configuration and protects downstream servers from being overloaded. Traffic is managed to achieve the best balanced performance results, considering the configured service policies and the offered load.
Note that for an inbound User Datagram Protocol (UDP) or SIP message, the ODR can route the message to another ODR to properly check for and handle UDP retransmissions.
The on demand configuration (ODC) component allows the ODR to sense its environment. ODC dynamically configures the routing rules at runtime to allow the ODR to accurately route traffic to those application servers. An ODR is able to route HTTP requests to WebSphere Application Server Network Deployment servers, and servers that are not running WebSphere software. The ODR, like the Web server plug-in for WAS, uses session affinity for routing work requests. After a session is established on a server, later work requests for the same session go to the original server, which maximizes cache usage and reduces queries to back-end resources.
Service policies
A service policy is a user-defined categorization assigned to potential work as an attribute read by the ARFM. Use a service policy to classify requests based on request attributes, including the URI, the client name and address, and the user ID or group. By configuring service policies, we apply varying levels of importance to the actual work. Use multiple service policies to deliver differentiated services to different categories of requests. Service policy goals can differ in performance targets as well as importances.
The autonomic request flow manager (ARFM)
The ARFM exists in the ODR and controls request prioritization. When the following components that the ARFM contains are working together, they are able to properly prioritize incoming requests:
- A compute power controller per target cell. That is, a cell to which some ARFM gateway directly sends work. This is an HAManagedItem that can run in any node agent, ODR, or deployment manager.
- A gateway per a used combination of protocol family, proxy process, and deployment target. A gateway runs in its proxy process. For HTTP and SIP, the proxy processes are the on demand routers; for Java Message Service (JMS) and IIOP, the proxy processes are the WebSphere application servers.
- A work factor estimator per target cell. This is an HAManagedItem that can run in any node agent, ODR, or deployment manager.
Dynamic workload management (DWLM)
Dynamic workload management (DWLM) is a feature of the ODR that applies the same principles as workload management (WLM), such as routing based on a weight system, which establishes a prioritized routing system. DWLM autonomically sets the routing weights to WLM. With WLM, we manually set static weights in the administrative console. With DWLM, the system can dynamically modify the weights to stay current with the business goals. DWLM can be shut off. If we intend to use the automatic operating modes for the components of dynamic operations, then setting a static WLM weight on any of our dynamic clusters could get in the way of allowing the on demand aspect of the product to function properly. The WAS Network Deployment WLM is not limited to the on demand routers, but also applies to IIOP traffic when the client is using the WAS Java Development Kit (JDK) and object request broker (ORB) and prefer local routing is not employed.
The following diagram shows an equal amount of requests flow into the ODR. Platinum, gold, and bronze are used to depict a descending order of importance, respectively. After the work is categorized, prioritized, and queued, a higher volume of more important work (platinum) is processed, while a lower volume of less important (bronze) work is queued. Because bronze is delayed, the long-term average rate of bronze coming out of the ODR is not less than the long-term average rate of bronze going in. Dynamic operations keep the work within the target time allotted for completion.
Related:
Dynamic operations Dynamic operations environment Create and configure ODRs Define a service policy