views:

68

answers:

3

Hello my friend is currently development an application using SOA Architecture, He sent me a picture with a lot of layers (10 almost) and he is worried about performance issues, the application is development on VB.Net 2.0 & 3.5 (some libs). He can't understand english, I try to do my best trying to helping him, but I think is time to get a tool for performance.

Thanks

+1  A: 

You should use a profiler. Here's the link to the Visual Studio Profiler Teams's blog: http://blogs.msdn.com/profiler/

There's a lot of cool stuff there.

Alfred Myers
+1  A: 

I have used my unit tests for this, by running the same test data, basically, through each layer, so you start with the lowest layer (database access object perhaps). Get some timing for that. Then test the next layer up, and keep going, and you can see what the performance hit from each layer is.

You may want to run the tests 10 or 100 times and get the time before the tests, then the time after, and print out the difference, so that you can take out some of the random differences.

I have had enough test data for 100 tests to be unique, so that I can remove any chance of the database caching queries and using that.

James Black
+1  A: 

It sounds like a good fit for a blend of profiling (ANTS Performance Profiler is a solid product, but there are other paid and free alternatives) and integration / performance tests.

Ten layers seems like an aweful lot, we have a 'quasi' SOA app (all services are exposed internally, the messages that go across them are consumed almost entirely by a single client application) that typically consists of only 4-5 layers:

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

Since it's all about the client experience in our world we can use ANTS on the client running a debug build and see the cumulative time it takes to go down all layers and back up--very few of our bottlenecks have been outside of client code.

STW