Investigating the impact of Ajax on server load in a web 2.0 application

Brian Toone,
Samford University

Investigating the impact of Ajax on server load in a Web 2.0 application

Web 2.0 applications are characterized by frequent accesses to large datasets which continue to grow as users contribute significantly to the content of the website. One of the enabling technologies that allows web 2.0 applications to provide rich user experiences while accessing large quantities of data is Ajax (Asynchronous Javascript and XML). Ajax provides websites with the ability to access server resources without refreshing the client web page. Google Maps and Facebook are example Web 2.0 applications that utilize Ajax to provide users with seamless access to data and services that would not be possible in the traditional HTTP request response cycle.

The additional capabilities provided by Ajax do not come for free. If used without consideration of the impact on server performance, the asynchronous requests initiated by the web browser in response to user actions can quickly overwhelm computational and network resources on the web server. For example, a web application that responds to “mousemove” events by sending a new Ajax request to the web server for each mousemove event can send hundreds of individual requests in only a few seconds. Each request consumes web server resources and prevents this type of code from scaling to large number of simultaneous users.

In this presentation we discuss the results of our investigation on the impact of Ajax requests on the web server hosting a Web 2.0 application that allows users to create and share topographic maps1. We demonstrate our experimental setup including the tools used for monitoring network and CPU usage. Finally, we provide suggestions on web application design to minimize the impact of Ajax requests on web server performance.


1 comment

Leave a comment

Your email address will not be published. Required fields are marked *