Haku

Improving web application scalability with advanced caching techniques

QR-koodi

Improving web application scalability with advanced caching techniques

Internet-sovellusten skaalautuvuuden parantaminen kehittyneitä välimuistitustekniikkoja hyödyntämällä

The main purpose of this thesis was to research and select the most usable ways of improving web application scalability especially during high traffic peaks. The most concrete meter for the application scalability was defined to be the maximum throughput of the application. From the general web application performance guidelines, caching was seen as the most promising solution for improving the maximum throughput of the application. Because of this, a couple of advanced caching techniques were implemented into a real life application: caching of content fragments with Edge Side Includes (ESI) markup language and caching of user group specific HTTP responses with a Servlet filter. After implementing the Edge Side Includes support into the application, the maximum throughput of the application front page was measured to be roughly 3 times the original. Though this was considered to be a good improvement, it seemed clear that the rendering process of the front page response skeleton was unnecessarily heavy at this point, therefore limiting the true potential of the ESI solution. In order to improve the performance of the response skeleton rendering process, a Servlet filter was configured to cache the different response skeletons to a local cache for two seconds, thus reducing the need for processing in the application especially during high traffic peaks. With this improvement, the maximum throughput of the application front page now reached approximately tenfold value compared to the original version. In addition, the maximum total throughput of the application was measured under a realistic simulation of a high traffic peak before and after the optimization steps. As a result, the optimized application seemed to perform approximately 2.3 times better than the original. In the end, the thesis project can be considered successful due to the noticeable improvement in the application scalability. Furthermore, various additional improvement possibilities were discovered during the project, which could help to improve the application scalability even more in the future.

Tallennettuna: