1

I have a website that is hanging every 5 or 10 requests. When it works, it works fast, but if you leave the browser sit for a couple minutes and then click a link, it just hangs without responding. The user has to push refresh a few times in the browser and then it runs fast again.

I'm running .NET 3.5, ASP.NET MVC 1.0 on IIS 7.0 (Windows Server 2008). The web app connects to a SQLServer 2005 DB that is running locally on the same instance. The DB has about 300 Megs of RAM and the rest is free for web requests I presume.

It's hosted on GoGrid's cloud servers, and this instance has 1GB of RAM and 1 Core. I realize that's not much, but currently I'm the only one using the site, and I still receive these hangs.

I know it's a difficult thing to troubleshoot, but I was hoping that someone could point me in the right direction as to possible IIS configuration problems, or what the "rough" average hardware requirements would be using these technologies per 1000 users, etc. Maybe for a webserver the minimum I should have is 2 cores so that if it's busy you still get a response. Or maybe the slashdot people are right and I'm an idiot for using Windows period, lol. In my experience though, it's usually MY algorithm/configuration error and not the underlying technology's fault.

Any insights are appreciated.

  • upon further investigation i have this to add: When the site hangs, it permanently hangs. So, for example, if a user experiences a hang, any link they click results in an infinte loading bar in the browser with no response. This continues no matter what link they click, even if they were to try every minute for a day. Now; if the user refreshes their browser, everything comes back and starts working. Also, other users are able to use the site fine while a hang has occurred for any individual user. It seems maybe the IIS Worker Process is crashing? Not sure. –  Jul 10 '09 at 19:08
  • have you resolved the issue? – Saif Khan Jul 15 '09 at 02:39

3 Answers3

1

Have you tried running the app on a real server to see if it hangs there? I would suspect the "cloud" computing platform before thinking that your app or the OS is an issue. Why do you say SQl has 300Mb of ram=- is that what it's using? Your specs say that you have a server with 1 gb of ram.

Jim B
  • 24,081
  • 4
  • 36
  • 60
  • ya, it's just the ram that's available to sqlserver on average... –  Jul 10 '09 at 16:59
  • i also suspect the cloud as everything else is default config and there are no real users on the system yet. –  Jul 10 '09 at 17:06
1

As Jim B indicated, you should've tested in your LAB before deploying. Check the following

  1. IIS - Make sure the app has it's own application process space.

  2. Check your session state in asp.net.

  3. Verify the connection between the app (IIS) and the DB, perhaps the cloud connection is being dropped.

  4. Can you see the event logs of IIS? Take a look at that.

Saif Khan
  • 1,945
  • 2
  • 20
  • 25
  • it was load tested on a deployment server, but the hangs didn't appear in the test result. The app is running in it's own dedicated application pool, and the recycling is set to 20 minutes which is less than the FormsAuthentication timeout, so likely that is not the problem. Is that what you mean by "process space"? There is nothing in the IIS event logs that indicate a problem. Also no DB connection errors in the logs. –  Jul 10 '09 at 17:05
  • there is no session variable in use throughout the system. –  Jul 10 '09 at 19:13
0

From the information provided it seems like the most likely problem is the single core on the VM since you're running the web server and the database on the system. If your hosting company allows you to add / remove cores, add the second core and check your performance again.

Dave Forgac
  • 3,546
  • 7
  • 37
  • 48
  • i think you might be right...i'll probably try that next as it's pretty easy to implement. –  Jul 10 '09 at 17:05
  • I'm still betting my nickel on the "cloud" concept even if you add a core. It looks like from their website they shut down everything if it's unused/underutilized. – Jim B Jul 10 '09 at 17:20