With Black Friday and the Christmas period just around the corner, it’s time to be asking the question “is my business prepared for peak?”
With the right preparation, getting through the busiest period unscathed isn’t an impossible task and one every business should be strategising around and planning to achieve from right now.
Security should always be the number one priority throughout the year, but in preparation for peak periods, it’s absolutely paramount to perform a security review on your site, what with the increase in traffic you’re likely to experience. Through such a review, you’ll be answering:
- Is the version of Magento the latest version?
- Are all the latest security patches installed?
- Is the admin restricted to specific IP addresses and/or a VPN?
- Do all the admin users have secure password? We recommend using a password manager such as 1Password or LastPass
- Do we have the minimum number of admin users possible to get the job done?
Here you need to be asking: What is the state of our website? The application? The supporting systems and infrastructure? Before entering the peak period, perform a health check on your systems to ensure that they’re ready to receive the additional load and support your business throughout the peak.
- Review and resolve any issues found in application error logs
- Check you have a healthy amount of disk space on web and databases servers
- Review the potential impact of development since your last peak period
- Ask, do you have enough credits/within contract with 3rd party services you use?
- Review your SLA and support contracts with your providers, speak to them about what additional support can be provided over events such as Black Friday
For a successful peak period, data is the key to success. Review your previous peak periods, ask: How many people were on our site? What was the shape of the traffic? How did our infrastructure perform under the peak load? With all these questions answered, along with the projected growth, you can then start to understand your requirements for the upcoming peak. In summary:
- Review analytics from the previous peak period
- Review email marketing campaigns, specifically open rates
- Project the new figures based off commercial, mailing list marketing exposure growth
- Review any issues that occurred in previous peak periods, and work with your suppliers to make sure there won’t be a recurrence
Load testing is by far the best way to ensure your business is ready to handle your peak periods. Starting with analysing the data from previous peaks and common user behaviour, profiles are developed to simulate the different user behaviours on your site, mainly consisting of browsing and purchasing. More advanced profiles can be built to perform other common behaviours if you have more complex functionality, such as paying off credit accounts.
The profiles are then loaded into a system such as jMeter. From there, you can then define the thresholds and configure to load test the website with the user behaviours at different levels. E.g. 10,000 concurrent users browsing with 1,000 users purchasing over 10 minutes, increasing in the frequency over the first 5 minutes.
While the load test is being performed, tools such as new relic are used to monitor for bottlenecks in the system such as database, network, CPU. From the initial load tests and analysis, decisions can be made if the site is ready for the peak period, or if further work is required. This is usually a balance between additional hardware, services, and development work to remove any problematic functionality. You should:
- Evaluate the limitation of your website and infrastructure
- Optimise obvious bottlenecks within the code
- Increase capacity via hardware/resource if required
- Evaluate the requirements for queuing systems
A common mistake during peak periods is to market to an audience larger than the website can handle at once. Use the information from load testing and previous years to stagger your marketing outreach, to a level where the website has the highest chance of remaining functional.
- Notify your partners when your marketing campaigns are going to start, it shouldn’t ever be a surprise to your hosting company when your server load spikes
- Discuss volume and how you can stagger the campaigns with your agency and hosting partner
- Review the quality of your peak offer against the potential traffic. A 70% flash sale will generate considerably higher traffic/load than 20%
A common solution to peak periods is to increase your capacity with hardware and resource. In cloud environments, you can work with your partners to automatically scale as the load increases, and increase resources prior to marketing campaigns. If you’re not on cloud hosting, many good hosting providers offer overflow capacity that you can pre-arrange for a price before your peak period. I advise:
- Speak to your agency and hosting provider and discuss the options
- Use the load testing data against your previous analysis to understand how much additional resource you will need
- If you’re on a fixed contract without the flexibility to add a temporary resource, look at implementing a queue system to restrict the amount of load hitting your infrastructure – this way, you’ll keep it transactional throughout
The secret to a successful peak period is preparation and communication. My key points can be summarised as:
- Make sure your site is updated, patched and secure
- Health-check your website and infrastructure
- Analyse your previous peak periods for an indication of the traffic you’re going to receive
- Load test and optimise
- Have your marketing team work with your partners to ensure they’re all well informed when the peaks are going to hit, and how to scale your marketing to match the capacity of your website
- Add additional infrastructure if required, whether it be commissioning additional servers or working with your cloud hosting provider to ensure your infrastructure is ready to scale when your peak hits