Web Performance Testing - Cost Benefit Analysis

The following is an article on performance testing written by Scott Price from LoadStorm

"Forgive me for stating the obvious, but web applications are a critical part of global business in 2011. I see no alternative other than more dependence by companies everywhere on web software and Internet infrastructure. In my opinion, all business trend data predicts greater overall web usage, more complex application architectures, and tremendous spikes in extreme traffic volumes.

Critical Applications, Yet They Aren't Getting the Investment Needed

ComputerWorld last week made a definitive statement regarding the critical nature of web applications:

Those who are unprepared are vulnerable to service outages, customer dissatisfaction and trading losses - and often when it hurts the most. Successful businesses understand the need to assure service and application availability if they want to retain customers, deliver excellent service and take maximum advantage of the opportunity their market offers.
This is not a theoretical problem - just look at the recent challenges for the London 2012 Olympics andTicketmaster. Just when everyone wants to do business with you, you’re not available.

The London Olympics site was overwhelmed by high demand for tickets and many buyers received the message, “We are experiencing high demand. You will be automatically directed to the page requested as soon as it becomes available. Thank you for your patience.”

That's a failure even if the representatives of the site said it had not crashed. Performance failure...pure and simple for the whole world to see.

Examples of performance failure like this seem to occur weekly, if not daily, somewhere in the global business universe of websites.

Transformative Moment? When Global Retailers Fail!
Recently Target.com crashed under extreme user volume. They cut a deal with a designer line of knitware (Missoni) and promoted a special sale on the morning before products were sold in stores. By 8:00 a.m. EDT, the site was crashing. The Boston Globe went so far as to say:

”...the Missoni mess could be a transformative moment in the relatively brief history of e-commerce. Retail analysts say it shows that even though online shopping has made major strides since Victoria Secret’s website famously faltered during a 1999 webcast, companies still may not always have the technological muscle to meet consumer demand for such frenzied promotions.”

Wow – transformative moment is a strong statement. I'm very skeptical because this is just one of thousands of site crashes. It seems that even Fortune 100 companies cannot adequately load test their web applications. Well, maybe they CAN, but they DON”T.

Why? Most will tell you it is too expensive. The time, effort, hardware, software, and team expertise is just too much for many companies. They skip load testing and cross their fingers hoping for good web performance.

Underestimating Traffic Surges
Another common reason for website failure is that the team (marketing folks I'm looking at you!) underestimated the surge in traffic. Yes! They thought the system was load tested and ready for ONE MILLION visits per day. They thought that was a huge number and virtually unreachable by any website. Not so. Let's examine this situation mathematically.

One million visits per day translates to 41,667 visits per hour. That is about 694 visits per minute. So, they told the web developers to load test for up to 700 concurrent users. In the mind of a marketing executive, that calculation is logically sound and very reasonable. One million visits per day would make their advertising campaign exceed the CEO's wildest expectations, and fast site response times for 700 concurrent users will make everyone successful on this project.

WRONG. I'm sorry, but I've heard customers make these conclusions from the same algorithmic calculations, and they learned the hard way about the flaws in this logic.

If all traffic was linear/steady for the day, then 700 concurrent users may be enough. However, website user volume is never, never, never consistent and will always have characteristics where spikes occur.
My advice to the customer's marketing department is to load test for 7,000 concurrent users instead. In fact, I wouldn't feel very comfortable until we saw sub-second response times for 50,000 concurrent users. You think I'm crazy? Just ask the London Olympics site developers. Just ask Target.com's Vice President. Talk to Ticketmaster's CTO.

The Real Cost? Negligible! ...Worth Every Penny!
The cost of performance failure of websites is too high to skimp on testing. The ComputerWorld article describes the situation well:

The solution of stress or performance testing, to simulate peak loads in both the application and the application infrastructure, is well proven - although preparedness often comes at an initially high cost. Buying performance test software tools, deploying and maintaining client and server infrastructures to simulate the load, plus development of simulation scripts, user expertise and time, it all adds up.

There is a new alternative, however, which will significantly reduce both the initial and ongoing costs, without compromising on any of the rigour that is required to ensure availability in even the most extreme performance scenarios. It’s called cloud-based performance testing.

Agreed. Take a look at a tool like LoadStorm. The cost of performance testing 700 concurrent users for an hour is only $27.93. Negligible! Unthinkable!

The cost of load testing 7,000 concurrent users is only $280. Most marketing executives spend more than that on the catered lunch for a simple campaign planning meeting! Again, negligible.

The cost of load testing 50,000 concurrent users is under $2,000! When you stand to lose millions of dollars of revenue, are you unwilling to invest $2,000 in website performance testing?!

If so, you are in the wrong profession. With all due respect, it takes a significant amount of ignorance and lack of business acumen to save $2,000 and potentially crash your website when successful marketing campaigns drive hundreds of thousands of dollars to your site."

A good article on performance testing from LoadStorm.