Tuesday, July 21, 2009

Performance

There are movements I though performance of an application is a value add.  But it turns out to a requirement in certain scenarios.  Either performance is a value add or a requirement, the attention needs to be given every stage of SDLC.   Yes, the performance needs to be considered in each stage and the assumptions and SLA needs to be called out clearly.

The design should always talk about the scalability of the application whither that is applicable at the design time. 

Recently we had a major issue in production, an application is throwing time-out exception and whole business process is halted.  To address the production issue, we moved the code from C# code to a SQL code the performance benefit is from few hours to few minutes.  So I would call this as a bad design.  While designing the application if the importance of performance is considered such issues will be less.

There is an another incident, where a small SP malfunctioned and caused the business to halt.  A one line change and proper index in place made a big business impact. 

For example

SELECT  x.d.query('id').value('.','int') as ID
FROM @ItemIDs.nodes('/root/item') x(d)

is re-written as

SELECT  x.d.value('(id/text())[1]','int') as ID
FROM @x.nodes('/root/item') x(d)

So it is obvious that the important of performance. When we talk about the performance we should also consider the load test.  The application must under go the load test and threshold limits needs to be called out at delivery time.

So do give proper attention in each stage of SDLC for performance.

No comments:

Post a Comment

Teams PowerShell

 The PowerShell helps to get quick meta data around Teams. Install-Module -Name MicrosoftTeams Connect-MicrosoftTeams Get-TeamAllChannel...