I have a Windows 2008 R2 Service Pack 1 server. It's virtual, not that that should make any difference. It's only purpose in life is running IIS 7 and it does that quite nicely. However, when I go to the performance monitor, there's not a choice of ASP.NET or ASP.NET applications. There is a choice of APP_POOL_WAS which has instances of the application pools I'm interested, but the counters are not very interesting. There are also a bunch of other performance counter choices. The websites use 2 application pools, each which is using v4.0 of the .NET framework. If I look in the task manager, i see two w3wp.exe's running, each a IIS worker process. I had UAC turned on, but i turned it off. I added appDomainResourceMontoring to the aspnet.config file, but that didn't help. Here's the aspnet.config file if that's the slightest help.

<?xml version="1.0" encoding="UTF-8" ?>
        <legacyUnhandledExceptionPolicy enabled="false" />
        <legacyImpersonationPolicy enabled="true"/>
        <alwaysFlowImpersonationPolicy enabled="false"/>
        <SymbolReadingPolicy enabled="1" />
        <shadowCopyVerifyByTimestamp enabled="true"/>
        <appDomainResourceMonitoring enabled="true"/>
    <startup useLegacyV2RuntimeActivationPolicy="true" />
  • 1
    That's interesting. You could try reinstalling the .Net Framework on the box - it sounds like the counters didn't get registered properly for some reason. On that reason: is anything interesting or noteworthy about the box? I'd imagine that installing a fresh one wouldn't produce this problem. – TristanK Aug 30 '12 at 6:32
  • i think it started life as completely generic, but then i did some unrepeatable nuget things with it. I probably messed it up at that point. I'll wait until it has a generic twin before re-installing. – Knox Aug 31 '12 at 13:10

What are you looking to track or monitor specifically?

As you saw you have to monitor the application pool and the instances within it as those are the actual threads on the server, under the guise of the w3wp.exe process.

In addition you can check out the ASP.NET Health Monitoring provider. This by far has the most amount of statistics and information related to the actual running application. Check out the Microsoft documents here for more information. If I remember correctly you can log them directly to the event log or to a database. The database is a nice option simply because there can be a metric ton of events raised depending on your configuration.

  • Normally the website loafs along at 5% processor utilization, but rarely it will suddenly peg to 100% and stay there for minutes. I'm trying to diagnose why this occurs. So i'm trying to add some counters from this suggestion: shubho.net/2011/02/performance-monitoring-aspnet.html but i don't have the choice of ASP.NET. Thank you for the suggestion of the ASP.NET Health monitoring. – Knox Aug 29 '12 at 14:26
  • If thats happening my guess is it is certainly related to something the application is doing. You might want to have a dev look into it or try to attach the VS remote debugger to try and catch a process when the load spikes. If it uses SQL as a backend you may want to monitor SQL at the time the load spike hits as well – Brent Pabst Aug 29 '12 at 14:29
  • yes, there's various things to do to diagnose why the peg to 100%, but why can't i add ASP.NET counters to perfmon? BTW, SQL server was normal; it's on another machine. – Knox Aug 29 '12 at 15:34
  • Even if you could add the perfmon trackers it won't tell you what's causing the problem, only that there is a problem which it seems like you have already identified. – Brent Pabst Aug 29 '12 at 15:50
  • I don't expect it will solve the problem, just give me a hint. For example, i am running two application pools. If i could add counters for the right pool, i could detect which pool has the problem. – Knox Aug 29 '12 at 18:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.