Databases Reference
In-Depth Information
How it works...
The Oracle WebLogic Server is a multithreaded application server. In a very simplistic way,
it is a thread pool that receives and dispatches the incoming requests to be processed by the
execution threads.
The WebLogic thread pool is called Self-tuning Thread Pool. It adjusts itself automatically
trying to maximize the throughput by increasing and decreasing the number of active threads
in the pool. The Self-tuning Thread Pool feature was introduced in WebLogic Server Version 9
and is, at the same time, one of its greatest features and one of the greatest weaknesses of
the WebLogic Server.
In production environments, some scenarios of peak time or large bursts of incoming requests
can fool the Self-tuning Thread Pool to grow too much, reaching some hundred threads. The
default maximum size the Self-tuning Thread Pool can have is 400 threads and, with this size,
it is unlikely that the WebLogic Server would handle all the concurrent incoming requests,
probably leading the system to a hang situation.
The following graph illustrates a scenario where a WebLogic Managed Server hangs after it
reaches a concurrency of 100 simultaneous requests being processed. The response time
increases until the WebLogic Managed Server hangs:
Designing a clustered architecture of small boxes, with low concurrency and low number of
threads running in each Managed Server will normally get better stability and performance
than a single, larger instance with a lot of threads.
A single thread consumes memory and resources, so the WebLogic
Administrator must be aware of the Self-tuning Thread Pool behavior.
In some scenarios, it must have the concurrency limited in order to
protect WebLogic from peak times and incoming burst requests.
 
Search WWH ::




Custom Search