Patent ID: 7237242

Claim:
A method of dynamically tuning thread pools in a multithreaded server, comprising: gathering baseline run-time statistics for a dynamically changeable workload on a multithreaded server, wherein the baseline statistics comprise average execution time and average queued time for executing a first plurality of requests in a plurality of request classifications of the dynamically changeable workload, the requests being serviced by a plurality of thread pools; programmatically altering the thread pools by adding an additional thread pool to service the dynamically changeable workload and rebalancing allocation of the dynamically changeable workload to the plurality of thread pools, to account for the added thread pool, such that subsequent requests in at least one of the request classifications are serviced by the added thread pool; gathering new run-time statistics for the dynamically changeable workload, wherein the new statistics comprise average execution time and average queued time for executing a second plurality of requests in the plurality of request classifications of the dynamically changeable workload, the requests being serviced by the programmatically altered thread pools; and programmatically reversing the programmatic alteration if a comparison of the new run-time statistics to the baseline run-time statistics indicates that performance was degraded as a result of the programmatic alteration.