Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

See image here: total CPU usage %

This trend is easily repeatable by running automated load tests on the application. After the CPU use settles at the apparently throttled level (~30%), application response times are VERY slow.

share|improve this question
    
I would like to see more information on the issue you are facing. Given the information, I would check if you have debug="true" in the web.config files of the application. aspalliance.com/1341 –  Vivek Kumbhar Jul 23 '10 at 4:36
add comment

3 Answers

Try monitoring other perf counters as well. My first guess is to check the % Time in GC.

share|improve this answer
add comment

Thanks for the answers. I made sure that Debug is set to "False". I looked at the memory and % time in GC counters. Right after the sharp CPU drop, memory use goes up for a few minutes, and then goes back down (it is garbage collected). Overall % time in GC is not high.

I found some additional information in the System event log. The sharp CPU drops correspond to IIS 1011 events:

A process serving application pool %1 suffered a fatal communication error with the WWW service. The process ID was %2. The data field contains the error number.

share|improve this answer
1  
Please edit your original question rather than responding via an "answer" –  Joel Coel Aug 31 '10 at 15:37
add comment

Looking at that, I have two culprits in mind:

  • Objects ending up on the large object heap. This will cause performance problems with the web app, but not show up in the GC time counter. However, I'm leaning away from this as it would tend to be related to high memory use and out of memory exceptions/errors rather than cpu use.
  • Something is not disposed correctly, likely because it's a global object they reference on every request. I'm thinking it's related to string concatentation, because that's the operation that's most often related to high cpu use. Put those clues together and my gut tells me to look for a logging system used with the app. This is an object that's going to be hit every request and deals with a lot of strings.

No matter what it is, I think what you need to do here is send the app back to the programmers. There's not likely a server config option you can set that will magically fix things.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.