As CEO at Skipjaq, Rob Harrop leads a team working on the cutting edge of machine-driven performance optimisation. When he’s not thinking about how best to tune the myriad workloads encountered by Skipjaq customers, he’s thinking hard about how to pass the optimisation burden on to machines that learn. Rob is well known as a co-founder of SpringSource, the software company behind the wildly-successful Spring Framework. At SpringSource he was a core contributor to the Spring Framework and led the team that built dm Server (now Eclipse Virgo). Prior to SpringSource, Rob was (at the age of 19) co-founder and CTO at Cake Solutions, a boutique consultancy in Manchester, UK.
Load testing is an important part of systems engineering. A good load test tells us whether our system is equipped to handle expected load, what kind of service level our customers can expect and how our system behaves when it's saturated. Despite their usefulness, many teams don't run load tests, and those that do often make grave mistakes that all but eradicate the usefulness of their tests.
In this talk, we'll see how to design, construct, execute, verify and analyse a load test to answer the three important questions:
- How much load can my system handle before it is saturated
- What service can I expect my customers to see at a given load level
- What are the bottlenecks in my application that cause saturation
Many open source load testing tools result in inherently incorrect results due to incorrect handling of latency measurements: the so-called Problem of Co-ordinated Omission. In this talk, we'll see how to overcome this problem to obtain reliable results using the standard JMeter load-testing tool.