why is my ASP.NET 4 site slow?

I have a core 2 duo T7400 with 4GB RAM, windows 2003 server with sql server 2005 and the site is running in ASP.NET 4
The CPU is only at 10%, but the site is very unresponsive, the database have indexes on all queried fields.
When I had under 1000 records the response was almost instant, now with 60k records some queries takes forever.

What can I do to improve the performance of the site?

the site is http://www.mobivel.com
LVL 2
evo_xAsked:
Who is Participating?
 
Dale BurrellDirectorCommented:
web.app log... I do the following on all my sites:

            if (Trace != null && Trace.IsEnabled) Trace.Warn("Database", Query);
            // Run query
            if (Trace != null && Trace.IsEnabled) Trace.Warn("Database", "Query End");

then it will turn up in the page trace i.e. website/trace.axd and it shows how long each query took, as well as the regular stuff like how long each control takes to load etc.
0
 
Dale BurrellDirectorCommented:
For each database call trace the start and end times so you can see where the time is being taken. Then assuming it is a query use the query optimiser to sort it.
0
 
evo_xAuthor Commented:
What is strange that sometimes the same query returns in 2-3 seconds and after an hour it takes more than 30 seconds and I get a timeout.
The site does not have heavy traffic, 50-100 visits / day.

How do you mean to trace? from sql server or from the web app ?
0
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

 
HainKurtSr. System AnalystCommented:
which queries are slow?
we can focus on slowest page/query...
0
 
HainKurtSr. System AnalystCommented:
is the site compiled on web server? or you have just code and each time server builds it?
0
 
UnexplainedWaysCommented:
Have you checked your viewstate lately?

View the source and look for <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"  and check the length of it.

http://msdn.microsoft.com/en-us/library/ms972976.aspx


What you need to do is find any control that doesn't need to maintain its state and disable the view state.  Otherwise the first visit to the page, .net needs to save stuff in that view state, then when you press a button, that has to get sent back to the server where .net pulls it apart then does its .net stuff and then resaves it all.

It might not be the cause of the entire site, but it will help.
0
 
evo_xAuthor Commented:
HainKurt, the website is compiled in visual studio each time and then uploaded to server. It is slow expecially whn you click on a category which has many records, ex. Honda, but it's not slow always, sometimes it's fast and sometimes it takes forever to return.

dale burrell: I will try that trace.
UnexplainedWays: I think the viewstate might be a cause...I will check that out.

Thanks all ! I will do some checks and come back.
0
 
HainKurtSr. System AnalystCommented:
when you run that query against db from ssms, is it always fast or sometimes slow?
0
 
evo_xAuthor Commented:
in ssms it's fast always.
0
 
evo_xAuthor Commented:
dale_burrell: How can I activate the trace? because the trace.axd file is not created.
0
 
Dale BurrellDirectorCommented:
trace.axd isn't a real file... its intercepted by the asp.net handler. Anyway for the full story check this out http://msdn.microsoft.com/en-us/library/bb386420.aspx
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.