Performance is at the heart of all of commerce. Think about the last time you bought anything: readiness and speed are critical across every interaction you face as a consumer. How fast is the checkout queue at the store, how fast can you get your package after you order it, and how quickly can you find the right item in the store? Thinking critically about how to extract every ounce of performance on behalf of our merchants is what keeps us up at night at Shopify.
Since we’ve helped over 2 million businesses get online, we’ve worked hard to make sure that everyone’s sites stay as fast as possible. We want to make sure that no matter where someone is browsing from, on any device, they get a great experience that’s fast in every way. Why? Because speed means that businesses on Shopify can be more successful.
We see this unfold in a real way everyday. To call out a real world example, Shopify’s team worked with Sunday Citizen, a fourth-generation luxury textile manufacturer to improve their site speed, with the goal of helping grow their business. After making several rendering improvements, Sunday Citizen was able to drive a 6% improvement in conversion and 4% decrease in site bounce rates. Users were also almost 4% more likely to add products to the cart, leading to more selling opportunities. All of this just from making their site load more quickly for visitors.
Time to First Byte
Performance has many dimensions and because everything affects it, and there’s no silver bullet to making a site fast. Everything from the type of JavaScript libraries you load to the types of media you include impacts the performance profile of your site. As a commerce platform, one of the key things we watch closely is Time to First Byte (TTFB).
TTFB is important because it represents the baseline performance that someone experiences when visiting a shop. If TTFB is high, meaning that it takes longer for Shopify to start sending back content, your site will most definitely be slower. It’s also a piece of the performance puzzle that Shopify controls on the merchant's behalf, and it’s something we’ve spent years optimizing.
As technology changes and the global patterns of commerce shift, we have to rethink our infrastructure and how we can get even better at reducing TTFB. Over the last year we’ve been working to evolve three dimensions of our infrastructure:
- Reducing network transit time
- Reducing the time the application takes to create a response
- Reducing the time databases take to retrieve data
We’re looking at all of these dimensions but let’s zoom into the first. Information travels through the internet’s fiber at the speed of light. That sounds incredibly fast but when we’re looking at global distances, it’s not as fast as you would think. If someone from Germany visits a site that is hosted in North America, it takes over 100 ms just for that request to get to transit over the network to get to the servers that are meant to respond to that request. And of course, the response has to travel back to the visitor’s device and render into something real, which is another 100ms. Two hundred milliseconds is an amount of time that humans can notice, and Shopify works to fix anything that can make a site feel slow.
To reduce network transit time in this world, we’re putting our application layer, what we call Storefront Renderer (SFR), in as many places as we can around the world. This is similar to something that Content Distribution Networks (CDNs) do called “edge caching,” but in our case we are moving not just the files that the browser retrieves but instead the whole system that renders storefronts. Commerce is personalized and dynamic, so we need to move the engine that powers commerce closer to the people who use it.
Last year, we tripled SFR’s points of presence and for 20% of our traffic, we’ve reduced the TTFB by about 50%. . For example, instead of buyers in Germany needing to access an application hosted in the USA, we were now able to handle their request from within the EU — avoiding the need to cross an ocean and back to the user.
Network transit time is just one lever we have to make all Shopify sites faster. Stay tuned for more on how we’re approaching the application and data layers of our infrastructure.
Faster is never fast enough
We’re always looking for ways to make Shopify stores faster, and more profitable. There are always more opportunities to improve, optimize, and invent as part of the performance journey–and it’s a journey Shopify is always on.