If Amazon Used Web Application Streaming They Could Drive 9% More Revenue
This is the first in an ongoing series where we take a look at the benefits of using the Instart Logic Web Application Streaming Network with popular web properties. We are starting with one of the giants in e-commerce who we know is already fanatical about web performance – Amazon.com. According to Amazon’s own numbers, every 100ms of improvement can increase revenue by 1%.
Amazon knows performance matters, and as a result are already following current web performance best practices. As you will see, though, Web Application Streaming provides an impressive boost on top of all that.
For this test we looked at Amazon’s Parent's Resource Center page and found that Web Application Streaming could give them a big boost in page load performance, shaving almost a full second off their page load time without any work on their part. Using their research, that would translate into a potential 9% bump in revenue. Keep reading on for the details of the test and to find out a little more about how Web Application Streaming can deliver this level of performance.
What Amazon uses today for web delivery
Measurement tools we used
We used one of our favorite free web performance tools, Webpagetest. It uses real instrumented browsers to load up web pages, which in this case ran through our Web Application Streaming service and directly to Amazon.com.
Instart Logic Web Application Streaming features used
We used both our Image Streaming and HTML Streaming technologies in this test.
HTML Streaming allows our service to instantly send non-unique HTML from servers closest to the end users, allowing the web browser to start working while the Amazon.com backend is still generating the user specific HTML.
Image Streaming allows our service to paint the images on the page in multiple passes. The first pass in this case will send 60% of the image data up front and then immediately request the remaining 40% after the onload event to do a second paint, bringing the images to full fidelity.
When we delivered the page through our service, we entirely replaced the use of legacy CDNs like those from Akamai or Amazon AWS with our Web Application Streaming Network. It uses the world’s first client-cloud web delivery system with application intelligence to reduce website load times and dramatically improve end user experience.
Time to first byte (TTFB) and DomContentLoaded improvements
The first thing you will notice is that the time before the browser gets the first data is reduced by over 4x, from close to 600 milliseconds to less than 150 milliseconds. That’s due to our HTML Streaming technology. Having already seen this page load for other users, we can immediately send portions of the non-unique HTML up front while asking the Amazon backend to generate the user-specific HTML. This allows the browser to start working right away, downloading components for the page. By looking at the DomContentLoaded metrics, you can also see that the browser is able to parse the HTML much faster – the time drops from 1.4 seconds to 900 milliseconds.
If you are used to looking at web performance waterfalls (see below) you can see here the first part of the page going through the Instart Logic service. Notice that the assets start downloading before the HTML is fully delivered and that the pink line indicating DomContentLoaded occurs much sooner.
Instart Logic Performance Waterfall
Amazon/Akamai Performance Waterfall
Document Complete and Visually Complete Improvements
The next thing to look at is the improvements to document complete and visually complete, which equate to when the page displays for the end user. With Instart Logic we see an almost 25% improvement to document complete and an almost 1 full second improvement to visual complete of the page.
Instart Logic Amazon/Akamai Document Complete 2.4 seconds Document Complete 3.1 seconds Visually Complete 3.2 seconds Visually Complete 4.1 seconds
This improvement is a mixture of HTML Streaming and Image Streaming working together. HTML Streaming allows the browser to start working sooner and Image Streaming allows a much faster time to display, as it uses a dual paint approach vs. waiting for all of the image bytes in a single paint of the screen. In this case you can see that by sending the image data in two passes, we can render the page for the user much faster, but still deliver a full fidelity experience.
Below is an example of what the first 60% of the image quality looks like and also the full 100%. With both approaches you end up with 100% of the image fidelity, but using Image Streaming allows the page to be displayed to the end user after only a portion of the data has been downloaded.
First Paint Pass: 60% of image data
Second Paint Pass: adds the remaining 40% of image data
We can see that even for a website where web performance is already a key focus, Web Application Streaming from Instart Logic can deliver further increases in performance and a much improved end user experience. Amazon themselves have been great at sharing their own data which found that even a 100ms speed-up can increase revenue by 1%. In this case we shaved 9x that time from an already heavily performance-optimized page, so that would amount to 9% more revenue if they start using our technology.
Full webpagetest.org reports
For those that love looking at waterfalls and are familiar with webpagetest, we have saved the reports at the links below.