How to isolate performance issue?

I have an asp.net 3.5 web application running on Windows Server 2003.  There is one section that makes use of DHTML (for tabs and other dynamic features) plus .NET Charting.  On two Windows Server 2003 boxes, this particular section is very slow.  However, locally for devs, and on other 2003 boxes, it works fine.  

On one day, someone will see a specific performance issue in that section.  On the next day, another person won't.  However, there are consistent performance issues across all people.  Everyone is accessing through intranet.  These Server 2003 boxes are Terminal Servers.  There must be a configuration issue causing this, rather than anything actually in the code base right?

What is a good place to start in narrowing down potential issues and figuring out the problem?
brettrAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

b_levittCommented:
Because so far I've heard dhtml and charting I would start with an http proxy like fiddler to see which browser request is the culprit (asp.net file vs a resource file the html is requesting like the chart)

http://www.fiddler2.com/fiddler2/

Identify that and write back.
0
brettrAuthor Commented:
Using Fiddler, on one particular tab that takes the longest to load, I see only an aspx page in Fiddler for the request.  Whereas, all the other tabs also load PNGs and sometimes JS.  From this, I'd think this one tab should be the fastest, yet it is the slowest.

What else should I look at?
0
b_levittCommented:
I mostly wanted to make sure the chart component wasn't the bottle neck.

What does this aspx page do for this tab?  Does it access the database?  Does it have any for/while loops?  Is it sending a large amount of data?

If it's an option to cut external traffic to one of these servers than you could remote debug and step each line of code, looking for long delays.  if that's not an option you could add trace lines (Trace.Write i think) and enable tracing on the page to try to isolate where the slow part is.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
brettrAuthor Commented:
Thanks for the suggestions.  They point me in the right direction.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
ASP.NET

From novice to tech pro — start learning today.