Title
Optimizing utilization of resource pools in web application servers
Abstract
Among the web application server resources, the most critical for their performance are those that are held exclusively by a service request for the duration of its execution (or some significant part of it). Such exclusively held server resources become performance bottleneck points, with failures to obtain such a resource constituting a major portion of request rejections under server overload conditions. In this paper, we propose a methodology that computes the optimal pool sizes for two such critical resources: web server threads and database connections. Our methodology uses information about incoming request flow and about fine-grained server resource utilization by service requests of different types, obtained through offline and online request profiling. In our methodology, we advocate (and show its benefits) the use of a database connection pooling mechanism that caches database connections for the duration of a service request execution (so-called request-wide database connection caching). We evaluate our methodology by testing it on the TPC-W web application. Our method is able to accurately compute the optimal number of server threads and database connections, and the value of sustainable request throughput computed by the method always lies within a 5% margin of the actual value determined experimentally. Copyright © 2010 John Wiley & Sons, Ltd.
Year
DOI
Venue
2010
10.1002/cpe.v22:18
Concurrency and Computation: Practice and Experience
Keywords
DocType
Volume
database connection,service request,fine-grained server resource utilization,incoming request flow,online request profiling,request rejection,server overload condition,server resource,server thread,service request execution,Optimizing utilization,resource pool,web application server
Journal
22
Issue
ISSN
Citations 
18
1532-0626
2
PageRank 
References 
Authors
0.35
16
2
Name
Order
Citations
PageRank
Alexander Totok1524.64
Vijay Karamcheti264667.03