Posted by Jeremy Johnson on June 17, 2014 in Performance, Web

Here at Ancestry.com, we have a team dedicated to monitoring, measuring, and helping the company improve the performance of the website. Trying to do this is a very fun and interesting challenge. With a website that has many billions of records and other content (10 petabytes), making it fast is no small task! To illustrate some of the key concepts of performance, let me share a little story with you.

The Performance Painter

Think of a painter and canvas. The painter knows what she wants to paint and dips her brush into a color and starts to paint. Let’s say this took 3 seconds for her to take her brush, dip it into her color, and begin to paint. Those 3 seconds are how long it took to start to see the painting begin. This is the painter’s First Paint time.

Now think of the painter finishing their painting. They’ve got all the trees, clouds, and puppies that the painting will contain, but not signing it or writing anything on the back or putting on any of the finishing touches. Let’s say it took 3 hours for her to have her initial painting done (including First Paint Time). This is the painter’s Page Load time.

Finally, think of the painter now signing the painting, writing a special note on the back, and doing some additional touch ups to the painting to get it ready to deliver to a buyer. Let’s say this took an additional 30 minutes for the painter to do. This is the painter’s Total Download time (3 hours, 30 minutes).

What These Performance Times Mean

A web page on the Internet is just like the painting getting created, except (we hope) much faster than 3 hours! In fact, we’ve found that anything over 3 seconds on a web page starts to feel slow to our customers!

First Paint is when our customers start to see the page get drawn on the monitor. The moment you see any kind of graphic, text, or pixel, this is the first paint time. It’s like the painter first touching their brush to the canvas.

Page load time is when the page is mostly done, although there may be a few things that still need to be processed or shown on the page – like delay load sections of the page brought in via AJAX. It’s like the painter finishing the painting, but not adding all the finishing touches.

Total Download time is when everything on the page is finished and delivered to our customers browser. This includes delay load AJAX sections on the page or anything used to track metrics for the page. This is like the painter adding the finishing touches and signing the painting.

Each of these is important, but our business is especially focused on First Paint and Page Load time so our customers are seeing the things they care about as fast as possible.

How Do We Measure Performance?

Everything we do on the performance team comes down to improving our time in these 3 key areas, with an emphasis on First Paint and Page Load.

Think about yourself as you use websites. Would you like to sit and wait for a web page to load? We feel the same way on the performance team. Pages should load as fast as possible starting with the most important things on the page.

We built our own custom software to go out and hit our most important pages that our customers use on our website. This software runs 24 hours a day, 7 days a week and captures how long our key pages took. We do this measuring from a few different locations as well. It is through this method of capturing performance times and maintaining a history that we can then set goals for improvement.

How Do We Improve?

The simplest way to improve website performance is to first track and measure it and then find areas that don’t meet standards of performance. Typically, we want a page’s first paint to happen in 1.25 seconds or less. We want page load to happen in 2.5 seconds or less and the total download time to happen in 3 seconds or less (but we are more lenient with this time).

If we find a key area isn’t hitting this goal, we ask the question WHY. This involves a lot of performance investigation and questions with owners within the company of the page. Most of the time, we are able to pin point a specific part of the page that needs improving and can schedule work to be done on the page to improve performance.

Continuous Performance

Lastly, performance is not a one-time fix. As a widely used website, Ancestry.com is continually adding features to the website or modifying existing features to be more rich and satisfying for our customers. As such, the monitoring and improving never ends. Performance really is a feature of the website that must be considered at all times.

Jeremy Johnson

Jeremy Johnson is a senior manager at Ancestry.com. His primary responsibility is the management and direction of multiple teams, including the External API team. His grandfather, Alf, was a World War I veteran and ran radio wire for communication on the battlefield. He enjoys writing, running, hiking, and especially playing basketball.

Comments

  1. Chris Fields

    I’ve never heard web performance described in this way – really makes it easy to understand. Most of the time, I read about web performance and it’s difficult to wrap my head around. Thx for making it so easy to understand? Do you do any presentations about this stuff?

    • Jeremy Johnson

      Hi Chris! Thanks for sharing, I’m glad the description of performance was helpful. I’ve done a couple presentations about performance and definitely want to do more in the future. Thanks so much for sharing.

  2. Jeremy Johnson

    Hi Matteo – That’s a good question about those cutting edge technologies. I’m sure that as a business they will come up in discussions, but I haven’t heard anything as of yet.

  3. elsie

    there seems to be some fundamental indexing and/or architecture problems at ancestry.com, it is slow to for a user to move between sections and frequently certain services are unavailable. Additionally the UI could use an overall/upgrade. The programming staff needs to work with the users to better understand how the product is actually used, currently is it very awkward. Ancestry.com should work with cutting edge technologists in Silicon Valley who are used to solving UI & Speed problems with large amounts of data. Ancestry needs to bring their product up to current trends and utilized technologically modern techniques.

Join the Discussion

We really do appreciate your feedback, and ask that you please be respectful to other commenters and authors. Any abusive comments may be moderated. For help with a specific problem, please contact customer service.