Your Ad Here

Monday, January 25, 2010

Let’s Talk about Performance Engineering

 
As I say repeatedly, performance engineering is a complex process. Thousands of dollars spent in fixing poorly performing applications. The performance bottleneck and pitfalls of the software product can not be combated at one go, but incrementally.

Broadly and for the simplicity sake, performance engineering can be divided in following stages:

Performance Test Strategy

Here we define the scope, environment, methodology, metrics and reporting of the performance testing. The tool required to generate the load and analyze the application behaviour is also identified under this head.

Performance Bottleneck Identification

Software architecture affects the performance to a great extent. The performance bottlenecks must be identified while various components of software is designed. Performance specialists must come up with a plan which enables in identifying all such bottlenecks

Design and Coding the Test Scripts

Once tool is identified and a plan is in place to explore the possible bottlenecks, the scripts for performance testing must be designed and developed. The code will be written in the language supported by the tool. e.g. JMeter, a load testing tool supports Java. Many tools support record and playback. After a little tweaking in the recorded script, the tool can be used for end-to-end performance testing of the application.

Executing the Scripts

The performance testing script is executed through the tool and various parameters are noted componentwise. Parameters could be response time, throughput, number of concurrent users the application may support, query processing time, delay due to network etc.

Analyze and Report

Reporting and analysis of the execution result is a vital part of the performance engineering. The result may be presented in forms of graphs, charts, metrics, or tables. This equips stakeholders with the information about the gap between expected and actual performance trends in the application. The team involved in developing the application may address those areas which are choking the performance. The extent to which performance issues must be combated depends on time, budget and severity of the issue.

Closure

Closure involves delivery of all the artefacts of the performance engineering exercise. Artefacts include plan, test scripts, report, risks, risk mitigation plans etc.

We will dig further into how to address these stages of performance engineering at a minimal cost and most efficiently. Keep a tab…

No comments:

Post a Comment