How do I run my own benchmark performance for a .net application?

Hello my friend is currently developing an application using SOA architecture, he sent me a picture with a lot of layers (almost 10) and he is worried about performance issues, and the application is on VB.Net 2.0 and 3.5 (some LIBS). He can't understand English, I try my best to try to help him, but I think it's time to get a productivity tool.

thank

+2


source to share


3 answers


You must use a profiler. Here's a link to the Visual Studio Profiler Team Blog: http://blogs.msdn.com/profiler/



There are a lot of cool stuff.

+1


source


I used my unit tests to do this by running the same test data, basically through each level, so you start at the lowest level (probably a database access object). Get some time for this. Then test the next layer and keep going and you can see what performance hits each level.

You can run the tests 10 or 100 times and get the time before the tests, then the time and print the difference so you can extract some of the random differences.



I had enough test data for 100 tests to be unique so that I can remove any chance of database cache queries and use them.

+1


source


Sounds good for a mix of profiling (ANTS Performance Profiler is a solid product, but there are other free and paid alternatives) and integration / performance tests.

Ten layers seem like a lot, we have a "quasi" SOA application (all services are exposed internally, the messages that pass through them are consumed almost entirely by one client application), which usually consists of only 4-5 layers:

Database > Web-Service > Web-Service Proxy / Persistence Layer > Data Layer > UI

Since everything about the customer experience in our world, we can use ANTS on the client doing the debug build and see how long it takes to go down all the levels and perform the backups - very few of our bottlenecks were outside the client code.

+1


source







All Articles