3.2.1 Purpose of request scheduling
In a large-scale business system, many requests might concentrate on the J2EE server that is executing a specific J2EE application. To execute jobs smoothly with load on servers balanced and system availability maintained, the business system needs to distribute requests to multiple destinations and control the volume of requests that flow in any given period. In a configuration in which processing is distributed to multiple J2EE servers, to improve overall system performance, the business system needs to send an issued request to the J2EE server that is least heavily loaded.
Request scheduling allows a system to execute the above required processing, and is key to stable system operation and optimal use of each J2EE server. In addition, overall system availability improves because if a problem occurs in a specific J2EE server, J2EE application, or business-processing program (Enterprise Bean), the system can continue processing in reduced mode by isolating only the affected sections.
Request scheduling allows the application server to provide the following six functions:
-
Controlling the flow volume of requests
By limiting the number of threads that can run concurrently on each J2EE server, load is balanced between J2EE servers, for stable and high throughput.
-
Controlling priority of requests
By assigning priority levels to clients, requests from clients with a high priority can be processed first.
-
Dynamically changing the number of concurrent executions of requests
The maximum number of requests that can be executed concurrently can be changed temporarily without stopping the CTM daemon.
-
Controlling and blocking requests
Maintenance can be performed without stopping the system by stopping acceptance of requests for a specific J2EE application or by stopping the dequeuing of requests. As a result, system availability is improved.
-
Load balancing of requests
Processing is distributed to balance the load between J2EE servers. As a result, overall system performance and availability can be improved.
-
Monitoring the accumulation of requests in a queue
The number of requests contained in the schedule queue can be monitored.