Testing Your e-Commerce Site for Scale and Stability
by Jimmy Fursman
February 29, 2016
One topic the e-Commerce space that is often deferred until early in the fall is preparation for the year-end shopping season and its promise of high-volume sales. For many of our clients the season also brings a natural bump with winter apparel and sports gear.
Alongside the increase in traffic and sales comes a heightened requirement for stability and performance from your website and its supporting infrastructure. Discussions this time of year with your IT Department or Technology Vendor often include the question, “Are we going to be ready?” Even with many assurances from your partners, it would be very comforting to know for sure. After all, there is quite a bit of business on the line this time of year.
Let’s take a look at some of the ways you can establish an honest sense of how your web infrastructure and software stack will perform at several times its average daily load.
Baseline Performance Numbers
We must understand what “normal” looks like in order to create goals for high-traffic scenarios. Taking averages over a reasonable period of time (at least 30 days, up to 12 months) of the following:
- Page Load Time: Site-wide
- Page Load Time: Home Page Only
- Requests per Minute: Site-wide
- Requests per Minute: Home Page Only
- Site Searches per Minute
- Add-To-Cart Requests per Minute
- Begin Checkout Requests per Minute
Separating the Home Page when tracking numbers is important because it is the most visited page and is usually the beginning of any conversion funnel. If you are using a particular landing page (other than the home page) as the start of your funnel, get those metrics too.
There is an increasing expectation from consumers that all website interactions will be instantaneous. This is especially true of pages early in the purchase path – think landing pages and highly-skimmed pages such as search results or product categories. The user is expecting each page to load in 2 seconds or less. If any of these take longer than 3 seconds to load under normal circumstances you have room for improvement.
Consistent Measurement Practices
Define your measurement tools and share the same results with everyone on the team. Nothing is less productive than everyone drawing different conclusions by looking at different numbers. Implement some external performance measurement tools that run outside of your company’s network. Companies of all sizes should have some considerations on their local network that makes the browsing experience different than the general consumer. It is important to get an objective perspective on the way your site behaves over time.
A great, free tool to follow page load times from multiple locations and browsers is Pingdom.com. Pingdom allows you to see a full request of any page on your site through the eyes of a viewer that has never visited your site before. The tool offers a waterfall diagram on the load times of every resource your page requires as well as some general recommendations on improvement. Pingdom also has a free service that will monitor your site for uptime and notify you of an outage.
Another great tool for measurement is actually a whole set made by the monitoring company, New Relic. An application performance monitor runs on your server and offers a deeper dive into each process involved in a single web request. New Relic also has a free browser performance tool that offers feedback on what actual visitors to your site experience. At Mercutio, we use New Relic extensively to improve our clients’ online presence.
The Oprah Test
The Oprah test a great way to measure a single dimension by seeing how your site responds to an unexpected spike in traffic to the home page. Imagine Oprah just gave away one of your products to each of the guests in her audience. What would happen to the search traffic on your company or product? What would that mean for visits to your home page? Is your application and infrastructure prepared to handle 1000 hits per minute? 10,000 hits? 100,000 hits? You should find out what that answer is, and it’s not hard to do.
Testing with Real-World Models
Take a look a last year’s numbers by the week and time of day. When were you the busiest? Let’s assume 200% of that traffic to be safe, but be sure to proportion it according to what actually happened – it won’t all be home page visits.
Create a script to use interactive pieces of your site, not just load pages. Add items to the cart, search common keywords, filter those results, and work through a checkout. Don’t yet know what percentage of visitors performed these actions? You’ve got a little homework to do. Don’t have access to this info? You might need to explore implementing or updating your analytics toolset.
If you can see results in a modeled real-world stress test that—maintains the baseline numbers established in earlier (or come really close considering the high load)—then you’re probably in good shape. If your site wasn’t as successful, then you definitely have some high-priority action to take.
If you have recognized some gaps in your website’s ability to perform under an exceptional amount of traffic, please read my other posts on planning for scalability and establishing a disaster recovery plan for your site. As always, I welcome your questions and feedback. If you’d like to arrange for a more in-depth review of your online presence and web infrastructure please contact us and I can put you in touch with a Mercutio engineer.