Home > How To > Fundamentals of Website Speed
Fundamentals of Web Site Acceleration - Performance Starts at the Web Server
Article by Port80 Software -
San Diego, California United States
This paper outlines a common sense, cost effective approach to lowering total cost of ownership and improving web site and web application performance according to two simple principles:
- Send as little data as possible
- Send it as infrequently as possible
We will explore best practice strategies that can be systematically employed in web front end source code and at the origin server in order to achieve performance improvements. These basic strategies, which all avoid expensive hardware solutions in favor of software and business process enhancements, include:
We assume that our typical reader is responsible in some way for development and/or management of a web site or application running on one or more Windows Servers with Internet Information Services (IIS) and that he or she has an interest in improving its performance as much as possible without deploying additional hardware (such as dedicated acceleration appliances) or services (such as Content Distribution Networks).
As we examine each strategy, we will explore the potential benefits to a variety of different web sites and applications in terms of three vital metrics:
- Faster web page loads and an improved user experience, translating into higher revenue and increased efficiencies.
- Reduction of bandwidth utilization and increased, ongoing savings.
- Consolidation of the number of server resources required to deliver existing sites and applications.
We will suggest relatively inexpensive software tools that will leverage common web standards in order to maximize hardware and network resources, thus improving web site and application performance while lowering the total cost of ownership of web infrastructure.
Measuring Web Site Performance
The most valuable measurement of web site performance from an end user's perspective is the amount of time needed to display a requested web page. The most important metric of page load time is Time to First Byte (TTFB). Defined as the amount of time it takes to deliver the first byte of the requested page to the end user, TTFB represents the visitor's initial confirmation that a web site or application is responding. Following Time to First Byte is the metric of Throughput, or how many requests can be served by a web site or application in a given time period. A user expects text, images, and other elements to load swiftly and methodically - failure in any of these metrics results in the perception of poor performance, which can very quickly lead to visitor frustration and abandonment of the site.
With a large enough budget for heavy infrastructure improvements, any server's connection to the Internet can always be improved. However, we are interested in cases in which these common measures of web site performance degrade due to uncontrollable network conditions and in which expensive, complex hardware solutions are not feasible or desirable. As web sites and applications grow increasingly complex with bulky code and third party applications, users - many of whom are still using dial-up connections - must download an increasing amount of data to access a web site or application. Even when highly efficient applications are made available on fast Wide Area Networks (WANs) like corporate extranets, segments of the network will always be susceptible to bottlenecks, and the user may experience unacceptably long page load times. If the web server's source code and management software are not optimized to keep pace with rising site traffic and application complexity, administrators will waste server resources and bandwidth, and users will be presented with slower, easier to abandon web sites.
Optimizing content and content delivery has been proven to improve web page delivery speed in case studies conducted by the World Wide Web Consortium (W3C). Until recently, content optimization required difficult and time consuming manual coding, but this can now be achieved through the implementation of inexpensive software tools and unobtrusive changes in development and deployment processes. Similarly, while optimizing content delivery once demanded expensive hardware and infrastructure investments, today it can be accomplished with affordable, easy to deploy server software tools.
Code Optimization, Cache Control, and HTTP Compression are strategies that focus on sending as little data as necessary as infrequently as possible to optimize performance in an existing web application's front end code and on the origin web server delivering that content to web browsers.
Part 1 - Web Server Performance
Part 2 - Code Optimization
Part 3 - Cache Control
Part 4 - HTTP Compression
Part 5 - Performance Optimization
|