SPA Conference session: Revving Up

One-line description:software performance engineering basics
 
Session format: Tutorial (75 mins) [read about the different session types]
 
Abstract:In this tutorial, we teach basic performance engineering concepts. The concepts we teach are universal but are illustrated with examples from an online financial services application.

The first task for the performance engineer is to elicit and understand performance requirements. Everyone likes systems that are 'fast', but 'fast' won't do as a metric. We discuss the many facets of 'fast, but throughput is the main focus of the tutorial. Most projects are eager to maximize throughput because of its direct effect on system economics, increasing revenue and/or cutting costs. Moreover, although response times inevitably increase when load increases, techniques that maximize throughput in online applications also minimize response time rates of increase.

In order to improve throughput, the current bottleneck resource must be found and used more efficiently. This procedure is followed iteratively until it becomes uneconomic to do so. Bottlenecks are identified by monitoring resource utilization. These techniques are to non-functional requirements what unit tests are to functional requirements.

We discuss techniques for improving resource utilization and include examples of DBMS and application logic optimizations with their specific tooling for finding hot-spots.

The final part of the session is an open discussion on the role of performance engineering in the development process.
 
Audience background:the session has some basic maths, almost all of which is very intuitive
 
Benefits of participating:sharpen understanding of performance issues, think about how to integrate performance engineering into the development process.
 
Materials provided:laptop with presentation material
 
Process:interactive tutorial. Although metrics are treated rigorously, they are introduced by appealing to the intuition of the participants - they are encouraged and guided to derive the mathematical relationships that govern the performance metrics of a system. When they have gone through this process, most people find that they see previously-known concepts, such as 'bottlenecks', in a new light.
 
Detailed timetable:First 60 minutes interactive tutorial on performance engineering theory and techniques, last 15 minutes discussion on integrating performance engineering into the development process
 
Outputs:paper and possibly tools to support measurements
 
History:XP Days Benelux 2009
 
Presenters
1. Johan Peeters
Johan Peeters bvba
2. Guy Thijs
KBC
3.