For web retailers Black Friday is a significant event. But can your website handle the extra load for a Black Friday spike in traffic?
StoreBuilder obsesses about website speed! We've invested a great many hours into optimizing our platform performance to deliver industry leading response times through the most demanding spikes in traffic.
The thumbnail on this blog post shows how average page load time actually got faster under load, going from an average 2.0 second page load time down to an average 1.75 second page load time when page views went up from an average of 10k pageviews per day to over 18k pageviews on Black Friday.
Why StoreBuilder Speeds Up Under Load
WARNING: this part gets a little technical and is intended for software developers to understand what we are doing. You can safely skip to the next section if you don't care how this works!
- StoreBuilder caches frequently used data in order to reduce unnecessary trips to the database. Data such as the lists of Countries & Regions (States/Provinces/Territories), Locales, Currencies and Units of Measure don't typically change throughout the day and can be cached in memory for faster access. Under higher load the webserver will maintain a primed cache for all cacheable resources resulting in a higher cache hit ratio under load.
- StoreBuilder uses optimized SQL Stored Procedures to retrieve complex object graphs from the database in a single round trip. Instead of making numerous calls to SQL Server to fetch a bunch of related data, we can load all related product data, an entire customer cart or all the data needed for a checkout in just 1 SQL request. We then return the data graph as XML to be efficiently parsed into data layer objects for use in the StoreBuilder front end. Beyond the obvious benefits of reducing round trips to the database, parameterized stored procedures can increase query plan caching in SQL Server. Query plan caching is an important part of enabling SQL Server to scale under load.
- StoreBuilder has a quality code base that has been tuned to handle concurrency. You will not find any contention between multiple threads (or multiple browser requests) for the same page or resource in StoreBuilder code which means our code executes consistently even as request concurrency rises.
What to do if your website crashed under load on Black Friday
There are a lot of band-aid solutions out there for less than optimal website architecture. If you absolutely must, a service like Cloud Flare may help you handle more traffic no matter what platform you are on.
However, these CDN or web application firewall type services really only improve the read only aspects of your site. They won't magically make your add-to-cart faster or checkout completion faster.
If you want your site to deliver consistent fast processing for both read only operations and purchase type actions, then you need to be using an enterprise class eCommerce platform like StoreBuilder.
Wait a second... you didn't show us any stats for Add-to-Cart speed!
Good observation astute reader! The graph in google analytics for average page load speed is measuring how long it takes for a page on your site to load in customers' browsers - this is a "read speed" measurement. So this graph may improve with content caching solutions like Cloud Flare. But what this graph doesn't measure is user frustration on your website due to slow add-to-cart, slow shipping quotes or a slow checkout.
StoreBuilder measures these user interactions with google analytics user timings.
Many of our competitors won't even be tracking user interactions like this. If you want to check, we can help you get an idea of your current add-to-cart speed by opening your favorite browsers developer tools while testing your current website and checking how long the add-to-cart request takes to process. On other platforms, we've seen day-to-day averages of 1-3 seconds or more and Black Friday spikes of 15-30 seconds or more!
Note how StoreBuilder's add to cart speed is rather consistent over time. On this customer site the average add-to-cart speed is 0.6 seconds with an average of about 110 add-to-carts a day. On Black Friday their add-to-cart volume spiked up to 319 cart additions while the average add-to-cart request was fulfilled in in 0.51 seconds!
It is important to consider your platform's user interaction speed as well as the read only browsing speed for your site. This is a an important factor to consider when comparing ecommerce platforms as the read speed is easier to optimize than the "write speed" where the user is actively changing something in their cart or order. If you are shopping for an eCommerce platform, always ask to see some analytics from a live "production" business website in their portfolio (not just stats from a "test website" - all platforms will perform better in a "laboratory setting" than they will in production use).