We are running a website using Active Server Pages & COM+ components. The ASP pages call COM+ components which in turn communicates with external systems and respond to ASP page requests.
We find that the application becomes slow over a period of time and requires restarts (like in couple of days). The website runs on good hardware and does not have huge traffic and so we believe it's not a capacity issue.
The application was written in ASP 3.0, VB 6.0 (COM) by an external vendor who does not support us any more. This being the situation, we want to figure out where the problem is by monitoring the ASP website and COM+ components' performance.
Hence my questions:
- Which all performance counters are the best to monitor for this case?
- At what interval should the counters be logged?
- How long are the counters monitored before you start analysing them? I realise this could vary for different applications but is there a general guideline?
- Once the counters are collected, how can one make sense out of it? Manual analysis using MS Excel or is there any good tool recommended? What's your experience on this?
Any help highly appreciated.
See this thread.
You should start with the PAL Perfmon_Template_for_System_Overview.htm settings file and add the following Active Server Pages counters:
The template's default sampling interval of 15 seconds should be good enough, provided you monitor long enough. If you have hour(s) of peak usage during the day, it may be good enough to just monitor during that time; you're just looking for trends to help you focus your troubleshooting.
The PAl tool comes with analyzers for IIS 5.0 and 6.0 out of the box, but not classic ASP. You can create a new analyzer (called a threshold file in PAL) to include analysis for ASP. The code's too long to post here, but if you're interested, leave me a comment and we'll work out how I can send you what I have.
Also, if you have the Enterprise Edition of Visual Studio, you can use the Visual Studio Analyzer (VSA) to trace through all the ASP and COM calls. It does a pretty nice job of profiling where the time's being spent, and you can include Perfmon counters to monitor to see what's going on at the system level as well.