views:

22

answers:

2

Whilst on the surface this question looks like it should be on serverfault.com I have a reason for posting here first.

I developed an ASP.NET 2.0 web application. Just recently with heavier usage there have been errors whilst (Cannot connect to server) in the middle of an post back or AJAX call. However the errors are intermittent and the server is showing not signs of load in terms of CPU, IO or RAM.

My first instinct says "Network card fault", however I am a software developer and I do not like to blame my tools. 99% of the time a bug is human error rather than hardware.

Rackspace (our provider) say there are no network errors and the server logs show nothing of consequence.

On the local validation systems the software runs like a dream, as you would expect.

My question is where do you start looking and where do you stop and go ask on serverfault.com?

(I guess I am looking for an idea checklist from experts)

+2  A: 

Take a look in the server event log, especially for events from the "ASP.NET" event source. Also, look at the ASP.NET performance counters, especially the "Request" counters.

This sounds like you're running out of worker threads, possibly because your requests are taking too long. You may find that it's only certain requests that take too long with database operations or such, in which case you'll be able to mitigate the problem by making those pages asynchronous.

John Saunders
+1  A: 

I would do the following to attempt to isolate it:

  • Use a service like watchmouse.com to monitor your application from different locations. This should hopefully give you an indication if it's a network issue. (Possibly one outside of Rackspaces control.)

  • Get an example of the HTML & Javascript of a page, when the error occurs. This should help determine if it is the code.

  • Get exact times when the error occurs. You can give these to rackspace to monitor logs, as well as look at your own logging for these times.

  • Also as John says, look at your event logs and counters to determine if there is a problem on your end.

Bravax