Web Logic Server Work Managers Overview



Web Logic Work Managers Overview

 

Work Managers:

WebLogic Server is self-tuning in nature by default, that is, it adjusts the thread size as needed.
WebLogic Server uses a single thread pool whose size changes automatically to maximize throughput. This process is called server self-tuning. The queue monitors throughput over time and based on history and determines whether to adjust the thread count. The server increases or decreases pool size if a higher or lower thread count increases performance. All the work is executed within this pool.
WebLogic Server prioritizes work based on rules defined by an administrator and run-time metrics, including the actual time it takes to execute a request and the rate at which requests are entering and leaving the pool. This new strategy makes it easier for administrators to allocate processing resources and manage performance, avoiding the effort and complexity involved in configuring, monitoring, and tuning custom executes queues.

Default Work Manager:

•  All applications are given equal priority.
•  A default fair share of threads is given to each application.
•  If no Work Manager is explicitly assigned to an application, it uses the default Work Manager.
•  The default Work Manager can be overridden by creating and configuring a global Work Manager called default.

Work Manager Scheduling Guidelines:

•  Use when the default fair share is insufficient.
•  Use to schedule work based on application priority.
•  Use when applications require different response times.
•  Use to avoid server deadlocks.

Components of Work Manager:

–  Request Classes.
–  Constraints.

Request Classes:

Request classes help schedule work based on priority.
Three types of request classes:
•  fair-share-request-class
•  response-time-request-class
•  context-request-class

Fair Share Request Class:

The fair share request class specifies the average percentage of thread-use time required to process requests.
•  Configuration options: Name and Fair share value
•  Default value: 50
•  Minimum value: 1
•  Maximum value: 1000
Fair Share Request Class
The fair share request class specifies the average percentage of thread-use time required to process requests.

Snippet: high priority fair share request class

fair-share-request-class>
high_priority
90

Snippet: low priority fair share request class


low_priority
10

Response Time Request Class:

The response time request class specifies a response time goal in milliseconds.
•  Configuration options: Name and Goal (milliseconds)
•  Default value: 0

Snippet: fast response request class

fast_response_time
1000

Snippet: slow response request class

slow_response_time
8000

Context Request Class:

The context request class assigns request classes to requests based on context information, such as the current user or the current user’s group.
•Configuration options: Name and context case

Snippet: context request class

simple_context
system
high_fairshare
everyone
low_fairshare

Constraints:

•  A constraint defines:
–  The minimum and maximum numbers of threads allocated to execute requests
–  The total number of requests that can be queued or executing before WebLogic Server begins rejecting requests

• Types of constraints:

–  max-threads-constraint
–  min-threads-constraint
–  capacity.

Maximum Threads Constraints:

The maximum threads constraint limits the number of concurrent threads that can execute requests sharing this constraint.

Configuration options:

–  Name: The user-specified name
–  Count: Thread count (Default value: -1)
– Data Source: The name of the connection pool whose size is taken as the maximum constraint

Snippet: maximum threads constraint

max_threads
10

Minimum Threads Constraints:

The minimum threads constraint guarantees a minimum number of concurrent threads that the server allocates to requests sharing this constraint.

Configuration options:

–  Name: The user-specified name.
–  Count: Thread count (Default value: -1)

Snippet: minimum threads constraint

min_threads
1

Capacity Constraints:

The capacity constraint causes the server to reject requests only when it has reached its capacity to avoid server deadlocks.

Configuration options:

–  Name: The user-specified name
–  Count: Thread count (Default value: -1)

Snippet: capacity constraint

my_capacity
50

Referencing Classes or Constraints:

A Work Manager is defined by encapsulating one request class and/or one constraint to schedule requests.

Configuration options:

–  Name and request class/constraint

Snippet: Work Manager

priority_work_manager
very_high_priority
1000
min_five_Threads
5