Reputation: 29427
This is to collect from the experience that the community has done information on the aspect of Profiling web Application.
Some years ago I worked at a very large project in C++/Java with the a CORBA ORB and we were using Rational Purify/CodeCoverage to instrument, detect memory leaks and discover bottlenecks on server code. From that time I did not have any experience on using tools like that on the .NET platform either working on pure c# or with a web application
I know this is a very big topic. Some information I have are from the book "Performance Analysis for Java WebSites", who is fo the Java platform and reference tools for that platform but ises an approach that is transferable and so the core ideas apply generally.
Upvotes: 9
Views: 1536
Reputation: 5952
Profiling a multi-tiered, distributed, web application (server side) shows a high level approach (profiling on the URL level) that is:
The idea is to use existing web logs and convert them into a "one-picture is worth a 1000 words" kind of chart.
This approach may not be sufficient for use-cases requiring more fine-level detail, but it helped me personally, and may be worth exploring.
Upvotes: 0
Reputation: 28064
I use dotTrace to profile while using jMeter to simulate traffic. I have found dotTrace to be far better integrated than ANTS, and generally the reports more useful.
Upvotes: 1
Reputation: 879
As a free load testing solution I have used Pylot. I am sure there are better paid solutions if you have a budget. If you can estimate traffic, this is the tool whose output you evaluate the scalabiltiy of your project against. Using the the asp.net output cache can improve your site performance under load significantly, so try this if your page views a second are less than you require.
For optimising your client side rendering speed use:
If developing a asp.net web forms app you can enable page tracing by modifying your page directive so it contains
<%@ Page Trace="true">
This will help you find controls which take longer to render.
If you have an issue with server side code being slow I have found it is almost always the database causing the issue. You need to check for SQL which is slow to return a result; if you find any you need to look at applying new indexes to your tables. If your app is too chatty with the database you need to look at reducing the number of calls to the database. To find these problems you can use SQL Server Profiler; this comes bundled with SQL Server 2005/2008 Developer edition.
If you have the budget, you definitely want to check of out Redgate ANTS Performance Profiler for profiling your server side code.
Upvotes: 5