Sunday, September 28, 2008

Widgets Delay Page Loading

I've been working to optimize the company website. A couple years ago, we decided to use Drupal. It's a bit of a processing pig. I embarked on some ways to improve performance. I will have more to share on that later-- some classic ideas, some ideas for low bandwidth users and some ideas I have come up with.
What I found in my research: having the Enquisite logger on your pages will delay overall page load. In my experiments, I was able to half the amount of data delivered. I knocked down the page processing by limiting the number of http requests. I was able to shave 25% off of the load speed. Why only 25%? With fewer http requests and half the data transfer, this could bring about some huge changes. Why 25%? Enquisite.
Here are two examples of the same page-- one in the new design experiements; one in the basic design. Same content, different templating rules.
Here is what Site-Perf.com had to say:
Old Design performance: http://www.site-perf.com/cgi-bin/show.cgi?id=sv5ult8FKXA
New Design performance: http://www.site-perf.com/cgi-bin/show.cgi?id=rzbq5zpVaZ_

The biggest single delay: resolving the domains. Our domain resolution takes 0.54 seconds. Enquisite's resoltuon takes 5.2 seconds!!!

This means we have 5.2 seconds of guaranteed dangle time in all of our page loads-- time when the client is left wondering why the web browser wheels keep turning. Thinking that this was a fluke, I checked another site that includes Enquisite, hotel-online.com. The same thing happened there too.

This is a clear example of Heisenberg effect of observation changing outcomes. Ironically, it doesn't affect all outcomes. The most important aspect is working ideally.