Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Review: Continous Performance Management

Review: Continous Performance Management

Steven Haines has written a paper on best practices for continous performance management (registration required)  -  the practice of including code profiling, integration performance testing and load testing as part of a continuous build environment.

The author makes some painful observations about the cost of poorly performing applications in the real world:

According to Forrester Research, nearly 85 percent of companies with revenue of more than $1 billion reported incidents of significant application performance problems. Survey respondents identified the architecture and deployment as the primary causes of these problems.

The Author goes on to say:

Infonetics Research found that medium-sized businesses (101 to 1,000 employees) are losing an average of 1 percent of their annual revenue, or $867,000, to downtime. Application outages and degradations are the biggest sources of downtime, costing these companies $213,000 annually.

Steven walks the reader through the concepts of Ant, test driven development and the creation of a continuous build environment using Cruisecontrol on the Java platform (although equivalents are prevalent  for the .NET environment, and the principles are exactly the same).

The author walks through some example scenarios, and usages of JProbe to identify bottleneck and memory leaks in the example  code, and the approach used to isolate and remedy them, with a focus using them in a continuous build environment.

The report goes on to discuss the inclusion of load tests in the continuous build environment, using JMeter as an example of measuring load, and using the artefacts generated by the tests to programmatically check response times against a service level agreement.

In summary, Steven demonstrates by example the importance of bringing performance testing right to the forefront of the development cycle, rather than an activity at the end, and in the context of the cost of not doing so, makes the point that not only should this be best practice, but standard practice.

Rate this Article