Replication and caching mechanisms are often employed to enhance the performance of Web applications. In this article, we present a qualitative and quantitative analysis of state-of-the-art replication and caching techniques used to host Web applications. Our analysis shows that the selection of best mechanism is heavily dependant on the data workload and requires careful analysis of the application characteristics. To this end, we propose a technique that may enable future Web practitioners to compare the performance of different caching/replication mechanisms. There are many reasons why Web sites can be slow and an important one is dynamic generation of Web documents. Modern Web sites such as Amazon.com and Slashdot.org do not simply deliver static pages but generate content on the fly each time a request is received, so that the pages can be customized for each user. Clearly, generating a Web page in response to every request takes more time than simply fetching static HTML pages ...