There’s a lot to learn about load testing. How do you do it before a big event? What part(s) of the site need to be tested? How do you monitor testing results?
Two of our resident experts, Rackers Jackie Campbell and Joe Ashcraft, joined us this week on the Hangout to discuss the who, what, when, where, why, and how of load testing, and how they use it to Fanatically Support our customers. It was a wonderful conversation, with many actionable recommendations. I’ve linked to a few and embedded the full video, and an audio-only version below.
The importance of load testing
It’s no secret that we love load testing here on Office Hours. One of my favorite shows featured our partners at Load Impact. Jackie kicked off our conversation by describing how she explains the importance of load testing to her customers. Joe followed up with a good point that not load testing can cost a lot more in the long run than load testing and adding additional infrastructure.
Load testing timeline and frequency
When should you start load testing? Jackie suggests planning for load testing as soon as you know a high traffic event is coming. It does take a bit of time to plan proper load testing, and deploy any additional infrastructure for the application. Our technical account managers and system administrators are well-versed in planning and implementing load testing, and can help to guide you through that process. Additionally, we recommend load testing on a regular basis, so that our customers have a solid baseline benchmark from which to extrapolate future scaling needs.
How to measure the impact of load testing
When a customer load tests with Rackspace, we monitor our infrastructure, and at the Managed Operations support level, we also monitor individual server responses. Joe also strongly recommends New Relic to take a look at what the application itself is going through while load testing. New Relic lets us see parts of a customer’s application might be struggling under load, which allows us to make recommendations for improvement. For example one database query might be run frequently, with the same result for all customers at checkout. We could then cache that query, taking load off of the database and decreasing response time. Jackie recommends using Airbrake for a view of specific sections of code that might be breaking or causing bottlenecks.
What to load test
It’s a trivial task to send heavy traffic to a specific page within a website; it’s another matter to test the functionality of an application under that heavy traffic. Joe points out that most load testing services will work with you to script the traffic that will mirror an end user’s actions on a site. It’s also important to take into account the site administrators, and their access to admin sections when traffic is heavy.