Thread Count

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Thread Count

satish
I have a concern on Thread Count

Setting Thread Count:

The value of the ThreadCount attribute of an ExecuteQueue element in the config.xml file equals the number of simultaneous operations that can be performed by applications that use the execute queue. As work enters an instance of WebLogic Server, it is placed in an execute queue. This work is then assigned to a thread that does the work on it.
 
If we have 16 execute threads,will that mean it will execute only 16 user requests at a time?

Generally this thread count should be equal to number of cpu's or processors?

Thank you
Reply | Threaded
Open this post in threaded view
|

Re: Thread Count

ErmanArslansOracleBlog
Administrator
Increasing the thread count doesn't necessarily mean that you can process more work.
Also know that, more thread means more memory  and more threads means more cpu.

It depends on your application.. If you applications makes Weblogic calls than tuning the thread count may increase your performance. However; if your applications does client side mostly, then you should continue with the default thread count.

Normally, you should consider increasing your thread count if you have enough cpu cores.
That is,

if your thread count < your cpu cores, you should consider increasing the thread count.
or
if your thread count > or = your cpu cores and if your cpu cores have idle time , then you should consider increasing the thread count.

As oracle documentation states : To determine the ideal thread count for an execute queue, monitor the queue's throughput while all applications in the queue are operating at maximum load. Increase the number of threads in the queue and repeat the load test until you reach the optimal throughput for the queue. (At some point, increasing the number of threads will lead to enough context switching that the throughput for the queue begins to decrease.)

So in short it doesn't mean that -> If we have 16 execute threads,will that mean it will execute only 16 user requests at a time

it means, if we have enough Weblogic-side load on our application(if our applications utilizes these queues well enough), then we may increase our thead count and expect to see an increase in the speed of the WLS processing.