I ran across this article yesterday. It is nearly two years old, but the content is still entirely relevant. If you are building a system that needs to scale out to handle a large load, then you’ve probably already read this or something similar…if not, then it is worth your time.
What is the relevance to Load Testing, you ask? In section 5 author, Simon Brown, says”
“… set measurable goals throughout the system, verify and measure the real performance and consider performance at all stages of the project.”
For a project manager, a key part of the job is reducing risk of project failure. Reducing risk for a mission-critical project includes ensuring it doesn’t crash the day after deployment. It also includes reducing risk of missing deadlines. Load testing early in the project helps to reduce both of these risks by ensuring the software is stable and meets the performance goals. Fixing performance problems, especially those that limit scalability, is much less expensive (and time consuming) early in the project…so by load testing early in the project, cost is lowered and schedules are preserved.
Test early, test often!
Chris Merrill, Chief Engineer
When his dad brought home a Commodore PET computer, Chris was drawn into computers. 7 years later, after finishing his degree in Computer and Electrical Engineering at Purdue University, he found himself writing software for industrial control systems. His first foray into testing software resulted in an innovative control system for testing lubricants in automotive engines. The Internet grabbed his attention and he became one of the first Sun Certified Java Developers. His focus then locked on performance testing of websites. As Chief Engineer for Web Performance since 2001, Chris now spends his time turning real-world testing challenges into new features for the Load Tester product.
1 Comment
21 April 2010 Michael Czeiszperger
The biggest problem I’ve seen customers have is their architecture doesn’t scale, and has no chance of scaling. By roughing out empty transactions and running load tests against it you find out the maximum capacity of your architecture before you’ve added all of the functionality.
The only recourse in this situation is to re-write the entire application for a new architecture which is almost as time consuming as writing the entire application from scratch.
When services customers come to me wanting us to validate the scalability of their site, the first thing I ask is “how was it designed to scale?”. Its not surprising that the people who can’t answer that question are the ones with performance problems.