I am developing a window based application
using .net
framework and SQL server 2008
as back end. Let me know about the techniques for improving the performance
of my application.I am using remote data base connection
.
Asked
Active
Viewed 1,101 times
0

Nithesh Narayanan
- 11,481
- 34
- 98
- 138
-
So you're developing something that sits between a Db and a User. Your software will be waiting for one of them 99.9% of the time. – H H Oct 22 '11 at 07:48
-
Let Me know the things which i taken care of while developing – Nithesh Narayanan Oct 22 '11 at 08:55
2 Answers
4
You should use a profiler to see where the time is being consumed. There are a few good commerical profilers such as ANTS from Red Gate.
Related:

Community
- 1
- 1

Mark Byers
- 811,555
- 193
- 1,581
- 1,452
2
Mark's suggestion is a well known and well accepted way to isolate and debug bottlenecks in the application. But you might have a hard time determining what to even test, and for a UI application, you might have a hard time determining when you should stop optimizing.
Along those lines, here are some practices to adopt.
The first is to define performance requirements for your application. Here are some suggestions for doing this for an initial-verison app:
- Determine what is a similar server environment to what you project in production
- Come up with an expected set of scenarios that will be run against the server, including what percentage of each scenario will be run
- Come up with expected peak, average, and worst-case conditions
And here are some suggestions for a subsequent release:
- Measure your existing application's performance against your known data
- Examine the worst outliers, and optimize those first
- Don't accept any reduced performance on any scenario unless it is for a very good reason
The next is to do load testing against your application.
- Deploy your application to a test server environment that matches production
- Automate your various productions loads on your server (both meeting and exceeding production loads)
- Run all your expected scenarios against the server while it is under load, and determine whether it is "responsive enough"
- If you really want to get down and dirty with this, try doing some User Acceptance testing while your server is under load, and try to determine the user's reaction to the responsiveness of the application

Merlyn Morgan-Graham
- 58,163
- 16
- 128
- 183
-
1Let Me know the things which i taken care of while developing – Nithesh Narayanan Oct 22 '11 at 08:55
-
@Nithesh: Is this a comment, or a request for more information? – Merlyn Morgan-Graham Oct 22 '11 at 20:32
-
2@Nithesh: The things I mention are business activities which can occur before and parallel to development, and test activities, which can occur parallel to and after development. The things that can occur during development are: recognizing opportunities to design in useful optimizations that don't require you to bend over backwards (low level and architectural), unit testing, low-level simple performance measurements based on business requirements (if you break them down to very granular timing budgets), and finding bottlenecks via profiling. – Merlyn Morgan-Graham Oct 25 '11 at 19:24