Sunday, March 15, 2009

Page Load Performance Optimizations

Guild Launch has excellent page load speeds. That being said, in recent releases we've been laying the groundwork for further page load optimizations. We are doing this as a proactive measure to deliver you the best Guild Hosting possible and make your experience with Guild Launch the best we can.

At it's core the time it takes a web page to load is connected to the time it takes for the server to create the page. Here at Guild Launch our page creations times are very fast at 80% less than or equal to 1/10th of a second, the heavy use of Rapid Raid reporting and lists which calculate a fair amount of data skew this somewhat. Our external monitoring shows that average page loads from various places in the U.S. range from .4 seconds to .7 seconds with some outliers probably due to internet load times more than our servers. These page creation times and load times are primarily due to having multiple very fast database servers and a farm of web machines working to serve you all web pages. Not to mention the smaller server farm for SigLaunch.com.

However, we can get even faster. So, we've embarked on four initiatives:
  1. Use more Ajax
  2. Use more server side compression
  3. Use More Domains
  4. Utilize a Content Delivery Network
Use More Ajax

Many times the perception of page loads is more important than the reality. Using Ajax makes the application feel more snappy, it also reduces the reload of the template and related information and lets the servers focus on delivering just the content needed. Ajax is a major win from the user interaction side of things, which is critically important. Ajax does not necessarily improve page load times when you are just browsing around the site however, so we have additional options.

Use More Server Side Compression

Our web servers have the ability to compress JavaScript and CSS. We had a problem with it a while back, but recent upgrades mean that those problems should be solved. As of Sunday March 15th we are now compressing more of this content. The benefit should be subtle but noticeable for our U.S. users and may be quite noticeable for our European and Oceanic users.

Use More Domains

In the 6.1 release we will begin serving most static content from seperate domains from the GuildLaunch.com site. This will allow your browser to more fully use your available bandwidth and will enable more parallel downloads. This should speed up page loads for our U.S. users appreciably, and again have an even more noticeable impact for our European and Oceanic users.

Utilize a Content Delivery Network (CDN)

Once we have the content on a seperate domain we will be able to begin using a Content Delivery Network. We're still laying out the plan and timeline for this, but it is absolutely a goal of ours for 2009, hopefully early 2009. A CDN will allow us to actually move our static content closer to our users by having a server in regions of the U.S. and possibly a server in Europe that serves this content. The net effect is less latency for the 20-20 static items that make up a given webpage while allowing our primary servers to focus on generating and serving the dynamic part of the content equation. A CDN will have an impact for our users worldwide.

I hope you've enjoyed the roadmap for our page load time optimization. Our goal here is to improve upon our already fantastic site performance and to make it even better. We will keep you all updated as these initiatives progress.

-Stephen

No comments: