1

I have several websites that are currently experiencing the following problem. Over time, rendering of a specific partial view (asp.net mvc 1) will degrade, and take around ten times longer than it does normally. I currently have a workaround, but it's far from ideal.

  1. Take this node off our load balancer
  2. Stop IIS
  3. Delete all temporary asp.net files
  4. Start IIS
  5. Hit the site to get caches populated and views compiled
  6. Put the node back on the load balancer's rotation.

I know that it's not the restarting of IIS fixing it, it seems that the temp asp.net files have to be deleted for this to work properly. After those steps are completed, performance on the site is much, much better for around three to six hours. After that, it goes back to being terrible. The partial view that's having issues pretty much just renders out some html with cached data. We have not been able to reproduce this issue in our dev environment at all, so we're pretty stumped. We're going to be upgrading our live environment shortly, so I'd just like to know what's causing this problem. If it's configuration related at all, I want to make sure it's fixed with our new setup. Anyone ever seen this before?

dove
  • 20,469
  • 14
  • 82
  • 108
Ryan
  • 1,368
  • 2
  • 10
  • 14

2 Answers2

0

There could be many things at play here, an initial check list

  • confirm app is not deployed in debug mode
  • what logging do you use and is it being done excessively?
  • what is the bottleneck on the server when this happens? memory? then you might have to check for a leak
  • do you regularly recycle your app pools?

Can you give some more details on what this partial view actually does?

Community
  • 1
  • 1
dove
  • 20,469
  • 14
  • 82
  • 108
  • It's not in debug mode. We have timers that render out for us in a debug panel, I wouldn't say we're being excessive about it. We also are using newrelic, which is what's flagging this as being an issue. The server is still performing really well. The app pools are set to not auto recycle. The partial view is used to render a list item of news on the site. There are about 20 of these rendered on the homepage. It's just the content of the post, the number of comments left on it and the latest comment's author. After first load, all of that is pulled from our data cache. – Ryan Aug 12 '13 at 14:52
0

The solution for this problem was to clean up the temporary asp.net files. We integrated this step into our deploy process, and the site overall has been running faster.

Ryan
  • 1,368
  • 2
  • 10
  • 14