Birmingham-Southern College1, Computer Science, Birmingham, AL 35254 Samford University2, Computer Science, Birmingham, AL 35229
In this project, we demonstrate a framework for transparently shifting workload between web servers and browsers in order to increase the efficiency of web applications. This framework could benefit many common AJAX applications and could therefore speed up web browsing experience for many internet users. The framework consists of a server monitor that continually tracks the current load on the server measured as an average of the amount of time it takes for processing a PHP page. To use our framework, a web developer implements a JavaScript function that accomplishes the same task and produces the same output as an existing PHP function. The PHP function is modified slightly to make calls to our API for monitoring server load. When an AJAX request is made for a page that calls the modified PHP function, the server monitor rejects the request if the current server load is above a certain threshold and notifies the client with a special return value. The client web page can then invoke the equivalent Javascript function to determine the answer. JMeter, a free web stress simulation tool, allowed us to look at increases in server performance. Without the migrator, we saw that with each additional user the server became constantly more bogged down. However, once the migrator had been implemented into the application we noticed it would take many more users before the web server would show symptoms of the load. Research and implementation of the migrator proved its worth as a valuable tool for increasing the efficiency of web applications.