The userâ€™s proximity to your web server has an impact on response times. Deploying yourÂ contentacross multiple, geographically dispersed servers will make your pages load faster from the userâ€™s perspective. But where should you start?
As a first step to implementing geographically dispersedÂ content, donâ€™t attempt to redesign your web application to work in a distributed architecture. Depending on the application, changing the architecture could include daunting tasks such as synchronizing session state and replicating database transactions across server locations. Attempts to reduce the distance between users and yourÂ content could be delayed by, or never pass, this application architecture step.
Remember that 80-90% of the end-user response time is spent downloading all the components in the page: images, stylesheets, scripts, Flash, etc. This is theÂ Performance Golden Rule. Rather than starting with the difficult task of redesigning your application architecture, itâ€™s better to first disperse your staticÂ content. This not only achieves a bigger reduction in response times, but itâ€™s easier thanks toÂ content delivery networks.
What areÂ CDN (Content Delivery Network)
AÂ content delivery network (CDN) is a collection of web servers distributed across multiple locations to deliverÂ content more efficiently to users. The server selected for deliveringÂ content to a specific user is typically based on a measure ofÂ network proximity. For example, the server with the fewestÂ network hops or the server with the quickest response time is chosen.
Some large Internet companies own their ownÂ CDN, but itâ€™s cost-effective toÂ use aÂ CDN service provider, such asÂ Akamai Technologies,Â EdgeCast, orÂ level3. For start-up companies and private web sites, the cost of aÂ CDN service can be prohibitive, but as your target audience grows larger and becomes more global, aÂ CDN is necessary to achieve fast response times. At Yahoo!, properties that moved staticÂ content off their application web servers to aÂ CDN (both 3rd party as mentioned above as well as Yahooâ€™s ownÂ CDN) improved end-user response times by 20% or more. Switching to aÂ CDN is a relatively easy code change that will dramatically improve the speed of your web site.