logo

Speed Up Your Page Load Times

My current client — who wishes to remain anonymous, for the time being at least — is having me analyse their website for ways to improve overall performance. It's turning out to be an interesting and rewarding task.

The website, which is based entirely in Domino, is showing its age. Time moves quickly on the web and the site is woefully behind, not only in appearance but in meeting performance expectations of the average user. The time it takes your homepage to load is really important in the age of broadband. Gone are the days when everybody had dialup and knew to expect a wait. Nowadays nobody wants to wait at all.

The client gets most of their business through Google referrals to their site - whether by direct search or Adwords. The problem is that new visitors with an empty cache were having to wait an average of about 30s and anything up to a minute for the page to load and the navigational menu system to appear. Only the patient ever get to see the site and I don't doubt lots of people give up and leave.

After two days on the project I've gotten the average load time of the homepage down to six seconds while keeping all functionality and maintaining the overall appearance of the page.

Next week it will be "Speed Week" here on codestore and I'll deliver 5 tips talking about how to analyse and improve the load time of your websites. Have a good weekend and be sure to tune in on Monday.

Comments

    • avatar
    • Kester
    • Fri 23 Mar 2007 09:24 AM

    have you looked at the following redbooks....

    "Performance Tuning Domino Web Applications"

    and

    "Domino 7 Performance Tuning"

    Usefull info for app development and server...

    • avatar
    • Curtis
    • Fri 23 Mar 2007 10:27 AM

    Firebug {Link} (for firefox only) has a Net module that shows you load times of all the pieces that comprise a page. This can help identify some of the slow loading objects or references to images or javascript libraries that no longer exist. For example, it tells me this page loaded on my machine in 1.43s. The info_32.gif took the longest to load in 782ms but other images were loading at the same time it was so it didn't bog time overall page load times.

  1. My favorite subject. I'm looking forward to hearing what you have found.

  2. Found in my daily blog harvest (at Joachim Dagerots blog, http://domino.dagerot.com/):

    "Coding faster lookups in IBM Lotus Notes and Domino": {Link}

  3. Looking forward to the tips Jake.

    I don't check those number much, but it's nice to see firebug show our intranet loading pages between 350ms and 700ms - and it's a hybrid .Net / Domino site.

    • avatar
    • Jake Howlett
    • Fri 23 Mar 2007 01:38 PM

    Kester. It will be more about browser-side changes than actual Domino server changes. But I might touch on that on day 5 or maybe 6.

    Kurtis. That's my blog for day 1 ruined ;o)

    Jens. Don't expect anything revolutionary. Just a lot of common sense really.

    Johan. You should subscribe to my "elsewhere" RSS {Link} as it was in there on Tuesday ;o)

    Peter. Anything under a second is always reassuring to see isn't it.

  4. Because I'm a programmer my first inclination is to look at software, but because of experience, I know that hardware and server configuration issues are important too. That 64kb frame relay internet connection to the server that was the latest and greatest in 1994 has to be upgraded. That Pentium 66 that's running the Domino server software should be upgraded and let's add some memory while we're at it (this is from a real-world case).

    Now that the hardware is up to date, let's take a look at the software. I noticed that you made specific mention page load times and the time it takes for the "navigational menu system to appear". A good cleaning of the code from nested tables and large images is a start. Now for the "menu system", change it to use the lightweight and very easy to maintain Suckerfish dropdowns.

    {Link}

    There's no need to wait for the page to load before adding behavior, use a DOMContentLoaded event to add behavior after the page's HTML has loaded but before the images have loaded.

    {Link}

    Domino sites aren't the only sites that suffer long wait times for menu systems to become operational. Using a DOMContentLoaded event gets rid of the wait times.

    @Jake, The only problem with common sense is that it isn't common any more though it should ALWAYS be the starting point for any application.

    • avatar
    • Richard C
    • Mon 26 Mar 2007 12:51 PM

    @Tanny - thanks for the menu link! - I've been looking for ages (not too well!) for a solution to the irritating IE problem with the suckerfish dropdowns.

Your Comments

Name:
E-mail:
(optional)
Website:
(optional)
Comment:


About This Page

Written by Jake Howlett on Fri 23 Mar 2007

Share This Page

# ( ) '

Comments

The most recent comments added:

Skip to the comments or add your own.

You can subscribe to an individual RSS feed of comments on this entry.

Let's Get Social


About This Website

CodeStore is all about web development. Concentrating on Lotus Domino, ASP.NET, Flex, SharePoint and all things internet.

Your host is Jake Howlett who runs his own web development company called Rockall Design and is always on the lookout for new and interesting work to do.

You can find me on Twitter and on Linked In.

Read more about this site »

More Content