In our recent blog post, Are Your Data Centers Ready for the Holiday Shopping Season?, we shared some tips to ensure your systems are prepared for the potential spikes in traffic. We hate to remind you, but holiday season sales are starting earlier this year, with some retailers offering deals prior to Halloween. Lags in page load are the “click of death” – they frustrate potential customers who will take back their loyalty and their wallets in an instant. And don’t forget that Google’s search algorithms also penalize websites for slow loads. Whether you’re preparing for the holiday shopping season or a major marketing outreach campaign, following are some tips to ensure your infrastructure and code are optimized for best results.
Load Test Your Site Prior to a Planned Traffic Spike
Rigorously load test your system ahead of time helps to identify and correct breakpoints and bottlenecks – and may even lead to a generous holiday bonus. The following steps give you a high-level game plan that you can tailor to your specific needs.
Determine your load testing goals
The initial testing should be a complete, comprehensive test of all your systems. Do not cut corners on this. You can always do additional, post-optimization testing of specific pages or processes after the initial test. Keep in mind your different types of buyers. For example, a consumer may interact with your site differently than a corporate procurement manager. Listing out your goals for the site will help you come up with specific questions such as the following.
- Are response times for all test paths acceptable?
- Are there consistent failures caused by such factors as multiple concurrent users, shopping cart functionality and so forth?
Establish a load test benchmark
Review historical data to see how your site performed during previous peak periods. This will help you determine what a typical “busy” load looks like. Benchmarking tools can simulate multiple concurrent users and give you an idea of how many requests per second your system is capable of serving. Keep a sharp eye on heavily trafficked pages such as your home and landing pages.
Determine data collection methods
Your initial testing will produce a plethora of data so be sure to have a data collection tool in place. The data test collection tool you use should be able to do the following:
- Thoroughly document the test conditions
- Accurately document the results
- Offer a straightforward analysis of results
- Archive test data for future comparisons
Create load test scripts
Scripts generate test data and simulate user interaction by flooding the site with requests. This allows you to identify bottlenecks that occur during peak traffic spikes. Below are some common scripts that you can implement.
- Randomly create products
- Randomly create customer accounts
- Randomly create orders that are filled, then sent to checkout
- Randomly create orders that are filled, then abandoned at checkout
Define the test environment
The load test environment should contain the following:
- Software tools for sending large amounts of requests
- Scripts to simulate user activity on the site
- Scripts to generate mass amounts of data in the system
- Hardware to run tools
- Spreadsheets to track and analyze results
Execute the load test
Because testing can be time consuming, make sure you track all the information you need to avoid unnecessary retesting. Some information categories to include on your spreadsheets include:
- Name of the person(s) running the test
- Date, time and duration of the test
- A clearly defined hypothesis
- A statement of what system elements have changed during the test
- A set of metrics being tracked during the test
- Results of the metrics
Many resource-constrained companies shy away from continuous testing since it can run for several days and consume valuable resources. However, load testing can help you avoid using additional resources to execute tests or degrade other applications during testing. Leveraging the cloud for testing allows you to spin up as much CPU (central processing unit) as needed to run tests as long as you need. At the completion of the test, you can decommission those resources, paying only for what you use.
HOSTING’s cloud solutions allow customers to seamlessly scale their ecommerce environments, empowering them to increase both revenues and customer loyalty. Contact us to learn how HOSTING ecommerce experts can manage your entire infrastructure including load testing and PCI compliance so that you can focus on what matters most to you: your customers.