As I mentioned in my last post, we’re going to share some of the measurements we’ve been taking in regard to site performance. In this post, we’ll focus on one particular aspect: the time it takes for our servers to assemble a page.
Page generation time is an important metric to look at for a number of reasons. For one, it is the only piece of the content delivery puzzle that is completely under our control. There are a good many systems that sit between a visitor to our site and our servers, including your Internet Service Provider (ISP) and the backbone routers of the Internet. While there are some services we can use to help mitigate connection issues between your browser and our servers, we cannot eliminate them entirely. While the page is being cobbled together on our servers, we have a lot more control over how we spend our time. Secondly, the amount of time on our servers is a minimum threshold for how fast we can get the page into your browser in a usable state. As we’ll talk about in another post, the majority of the time it takes for the browser to fully display the page happens after it has been delivered, but it certainly can’t be any less than the time it takes to download the page in the first place.
Every one of our pages is dynamically generated for every request — they’re all unique! And one of a kind! Each page for a signed-in member contains some personalized information, such as how many items are in your Activity Feed and how many unread convos you have. If you are looking at a shop or listing page, we must decide whether or not you have favorited that shop or listing. Some pages, like the home page and Activity Feed, are highly personalized. In general, the more information displayed on a page, and the more unique the information on a page is, the more time it will take to assemble that page.
We can calculate page generation time for any page on the site, but in order to focus on the pages that matter most, we’ve been paying close attention to a few key pages that are especially core to the Etsy experience. The pages we’ll be reporting on today are listings, shops, search, the home page and member profile, and are all for signed-in members only.
The numbers in the following chart are the number of milliseconds required to generate each type of page for the average and 95th percentile of visitors on Tuesday, August 2, a day that was pretty representative of the average weekday for Etsy.
On average, our servers can generate a listing page in a little over a blink of an eye, and for the great majority of requests in less than two eye blinks. That’s great, because the listing page is by far the most frequently viewed page on the site.
As you can see, the home page for a signed-in member takes more time to generate than any other in the list: just over a second, on average. It’s highly personalized with Taste Test suggestions and other items you might like. While we feel this content is valuable to members and worth some extra time to build, the time to generate homepage currently falls outside of the limit of what we feel is acceptable. We’ll be targeting this page specifically for improvement over the coming weeks.
We’ll be back in a few months to give you an update on these numbers and to dive into another area of site performance. See you then!