离开闲置一段时间后,网络应用程序性能下降

时间:2013-09-22 08:31:03

标签: asp.net performance iis

我们在IIS 7.5目标框架4.0上部署了一个Web应用程序 当应用程序第一次空闲几分钟时,应用程序执行缓慢,然后每次应用程序空闲时按预期执行此操作。 在小提琴手的帮助下,我发现它的TCP / IP连接花了大约21秒的时间,而在后续的呼叫中这次是0。 在IIS设置中,空闲超时也设置为高,连接超时也很高。 服务器是 - Windows 2008 R2。 事件查看器中没有与网站相关的内容。 我们使用了表单身份验证,但是配置文件中的超时也设置了大约10个小时。

在应用程序空闲一段时间后,是否有人指出我的设置会影响响应时间。 注意 - 使用LAN部署时,此功能正常,但在部署到LAN外或在单独的域中时会出现此问题。

3 个答案:

答案 0 :(得分:4)

  
      
  1. 问题
  2.   

这里是IIS应用程序池空闲超时的问题,默认设置为20分钟,20分钟后应用程序池关闭,如果20分钟内没有请求, 当任何请求在20分钟后再次启动时, 问题是第一次访问应用程序池需要创建一个新的w3wp.exe工作进程,这个进程很慢,因为需要创建应用程序池,需要加载ASP.NET或其他框架,然后你的应用程序需要加载。因此可能需要20-30秒的时间或取决于应用程序的内容大小。

  
      
  1. 解决方案
  2.   

所以为了避免这种类型的延迟,我们需要将空闲时间设置为0。 现在它总是快速加载。

  
      
  1. 应用程序池设置
  2.   

enter image description here

答案 1 :(得分:3)

IIS应用程序池在30分钟不活动后关闭。之后,当您提出请求时,IIS基本上必须再次启动网站,这会导致您所描述的行为。您可以在IIS中更改网站的空闲时间,以避免它。

您还可以查看4.0框架的Auto-Start功能。

答案 2 :(得分:0)

好吧,有点晚了,但可能会帮助别人。我遇到了同样的问题,日志中没有任何内容,花了几天时间,然后查看网络适配器属性/配置/电源管理 - 允许计算机关闭以节省电源。未经检查,问题解决了。