【问题标题】:IIS 7 over time performance degrading when rendering partial views渲染部分视图时,IIS 7 的性能会随着时间的推移而下降
【发布时间】:2013-08-13 21:47:45
【问题描述】:

我有几个网站目前遇到以下问题。随着时间的推移,特定局部视图 (asp.net mvc 1) 的呈现会降级,并且比正常情况花费大约十倍的时间。我目前有一个解决方法,但远非理想。

  1. 将此节点从我们的负载平衡器中移除
  2. 停止 IIS
  3. 删除所有临时 asp.net 文件
  4. 启动 IIS
  5. 点击该站点以填充缓存并编译视图
  6. 将节点重新置于负载平衡器的轮换中。

我知道这不是重新启动 IIS 来修复它,似乎必须删除临时 asp.net 文件才能使其正常工作。完成这些步骤后,网站的性能在大约三到六个小时内会好很多。在那之后,它又回到了可怕的状态。有问题的部分视图几乎只是渲染出一些带有缓存数据的 html。我们根本无法在我们的开发环境中重现这个问题,所以我们很难过。我们将很快升级我们的实时环境,所以我想知道是什么导致了这个问题。如果它与配置有关,我想确保它已通过我们的新设置得到修复。有人见过这个吗?

【问题讨论】:

    标签: asp.net-mvc performance iis iis-7 asp.net-mvc-partialview


    【解决方案1】:

    这里可能有很多东西在起作用,一个初步的检查清单

    • 确认应用未在调试模式下部署
    • 您使用什么日志记录,是否过度使用?
    • 发生这种情况时服务器的瓶颈是什么?记忆?那么您可能需要检查是否有泄漏
    • 你经常recycle your app pools吗?

    您能否详细说明这个局部视图的实际作用?

    【讨论】:

    • 它没有处于调试模式。我们有在调试面板中为我们呈现的计时器,我不会说我们对此太过分了。我们也在使用 newrelic,这就是将其标记为问题的原因。服务器的性能仍然非常好。应用程序池设置为不自动回收。部分视图用于呈现网站上的新闻列表项。主页上呈现了大约 20 个。这只是帖子的内容,留下的cmet数量和最新评论的作者。首次加载后,所有这些都从我们的数据缓存中提取。
    【解决方案2】:

    解决此问题的方法是清理临时 asp.net 文件。我们将此步骤集成到我们的部署过程中,整个站点的运行速度更快。

    【讨论】:

      猜你喜欢
      • 2014-04-15
      • 1970-01-01
      • 1970-01-01
      • 2010-10-07
      • 1970-01-01
      • 2021-07-17
      • 1970-01-01
      • 1970-01-01
      • 2016-11-06
      相关资源
      最近更新 更多