For his doctoral thesis at the University of Glasgow, Thiam Kian Chiew studied web page performance. As part of his research, Chiew explored the different factors that affect web page speed, testing and modeling the key components to web page download times. His findings are summarized below.
Unlike most research into web performance that deals with server and network issues, Chiew's thesis focused on the performance analysis of web pages themselves. The key metric with web pages is response time. Instead of being the result of server and network conditions, Chiew treats response time as an attribute of web pages. To address response time, Chiew proposes a framework of measurement, modeling, and monitoring. These "3Ms" were addressed with corresponding software modules. Using this framework, web developers can assess that web pages can meet or reduce tolerable wait times to ensure higher user satisfaction with web sites.
Web page response time is the most straightforward metric in quantifying user satisfaction (Hoxmeier & DiCesare, 2000). But as bandwidth and user experience have increased, the guidelines for web page response times have evolved. Schneiderman established in the 1980s that 1-2 second response times were ideal and that 15 seconds was a tolerable wait time (TWT - Schneiderman 1984). As the Internet and the Web emerged into the general modem-toting public in the 1990s, longer response times were tolerated, on the order of 8-12 seconds without feedback, and 20 to 30 seconds or more with feedback (King 2003). In 1996 Jacob Nielsen wrote that 10 seconds was the maximum response time before a user loses interest (Nielsen 1996). Zona Research published an oft-cited study for Akamai that offered the 8 second rule (Zona 1999). In early 2003, my first book found that the average TWT was 8.6 seconds, for the current conditions (King 2003).
As bandwidth has increased (more than 63% of the US is now on broadband), so have user expectations towards response times. While the average web page size and complexity have increased significantly since the 1990s to over 315K and 50 total objects, users expect faster response times with their faster wireless and broadband connections. The current guidelines on response times have split into faster response times for broadband users (3-4 seconds) and slower response times for dial-up users (on the order of 8-10 seconds). Thus the need for responsive web sites is that much greater. Towards that end this research provides test results to compare different optimization techniques, as well as software tools for modeling and monitoring web page performance.
The thesis tests the following hypothesis:
Beyond the introductory remarks, the thesis is organized into eight Chapters:
The author discusses server-side and network performance techniques such as caching, prefetching, content delivery networks, load balancing, and server tuning briefly. The main focus of the paper is client-side measurement and optimization, however. He compares PHP, Java Servlets, and Enterprise Java Beans software for generating dynamic web content and finds that PHP is the most efficient of the three architectures, but has limited functionality and runtime support. PHP handles small dynamic content requests well (2KB response size) but does not cope with large (64KB size) requests well. Java servlets perform better with dynamic content than with serving static content.
There is a significant amount of overhead in serving dynamic content (Titchkosky et al., 2003). Titchkosky found that the overhead of serving dynamic content reduced the peak rate of Apache 1.3x by up to 8 times, depending on workload conditions and the software used (see Table 1).
|Type of Response||Peak Rate (Responses/Second)|
|2kB Static File||4, 000|
|64kB Static File||1, 400|
|2kB Dynamic (PHP) File without Database Access||1, 400|
|64kB Dynamic (PHP) File without Database Access||250|
|2kB Dynamic (PHP) File with Database Access||850|
|64kB Dynamic (PHP) File with Database Access||250|
In actual tests of instrumented web pages the author found the effects of different techniques (see Table 2).
|No DNS Lookups (IP vs. Domain)||11%|
|Use Static vs. Dynamic (JSP) pages||51.8%|
The amount of HTML code affects the response time of a web page, but not as much as the number of embedded objects or total page size. For similar pages with different number of lines of code, response time grew somewhat. Growing from 108 lines of code to 1008 lines of code (833% more lines of code), response time grew from 47.2 ms to 62.4ms on average, or only 15.2ms or 32.2%. So for a 100% increase in lines of code, response time would grow by 3.8%. This shows that longer pages with the same page size will have slightly longer response times than shorter pages of the same file size. Of course, HTTP compression can reduce the effects of large textual data by 70 to 75%.
The response time of a web page grows in proportion to the number of embedded objects in the page (see Figure 2). For similar pages with 5, 10, and 15 embedded objects the response times increased nearly linearly with the number of embedded objects from 955 ms, to 1527ms, to 2056 ms respectively. So a 200% increase in embedded objects (from 5 to 15 objects) gave a 113% increase in response time (from 955 to 2056 ms). So on average a 100% increase in embedded objects would yield a 56.5% increase in response time.
The response time of a web page is proportional to the total size of the page (see Figure 3). For similar pages with the same number of lines of code, response time grew linearly with total page size (see Figure 3). As page size grew from 1501, to 2001, to 2501 bytes, response time grew from 751, to 806, to 860 milliseconds respectively. So a 66.6% increase in page size (from 1501 to 2501 bytes) gave an increase in response time of 14.5% (from 751ms to 860ms). So a 100% increase in total page size would yield a 21.8% increase in response time. These figures show that, under the conditions of this test, embedded objects affect response times nearly 2.6 times more than total page size.
Chiew went onto model web page complexity with six components, and created software modules to model, measure, monitor, and improve web page response times.
This research into web page performance quantifies what web page attributes effect response times the most. The most important factors in speeding up web page response times are minimizing the number of embedded objects and the amount of dynamic data. The number of embedded objects was 2.6 times more costly than total page size for response time. Caching was found to improve response times by over 19%. The number of lines of code and the size of cookies were found to affect response times the least.
By website optimization on 31 Jul 2009 PM