Abstract

Modern application infrastructures are based on clustered, multi-tiered architectures, where request distribution occurs in two sequential stages: over a cluster of Web servers, and over a cluster of application servers. Much work has focused on strategies for distributing requests across a Web server cluster in order to improve overall throughput across the cluster. The strategies applied at the application layer are the same as those at the Web server layer, because it is assumed that they transfer directly. In this paper, we argue that the problem of distributing requests across an application server cluster is fundamentally different from the Web server request distribution problem, due to core differences in request processing in Web and application servers. We devise an approach for distributing requests across a cluster of application servers such that overall system throughput is enhanced, and load across the application servers is balanced. We compare the performance of our approach-with widely used industrial and recently proposed techniques from the literature experimentally in terms of throughput and response time performance, as well as resource utilization. Our experimental results show a significant improvement of up to nearly 80% in both throughput and response time, with a very low additional cost in terms of CPU overheads, 0.1% to 1.5%, on the Web server, and virtually no impact on CPU overheads on the application server

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call