Monday, January 25, 2010
Let’s Talk about Performance Engineering
Author:
Priya Ranjan
Labels:
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…
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment