我们在IIS 7.5目标框架4.0上部署了一个Web应用程序 当应用程序第一次空闲几分钟时,应用程序执行缓慢,然后每次应用程序空闲时按预期执行此操作。 在小提琴手的帮助下,我发现它的TCP / IP连接花了大约21秒的时间,而在后续的呼叫中这次是0。 在IIS设置中,空闲超时也设置为高,连接超时也很高。 服务器是 - Windows 2008 R2。 事件查看器中没有与网站相关的内容。 我们使用了表单身份验证,但是配置文件中的超时也设置了大约10个小时。
在应用程序空闲一段时间后,是否有人指出我的设置会影响响应时间。 注意 - 使用LAN部署时,此功能正常,但在部署到LAN外或在单独的域中时会出现此问题。
答案 0 :(得分:4)
- 问题
醇>
这里是IIS应用程序池空闲超时的问题,默认设置为20分钟,20分钟后应用程序池关闭,如果20分钟内没有请求, 当任何请求在20分钟后再次启动时, 问题是第一次访问应用程序池需要创建一个新的w3wp.exe工作进程,这个进程很慢,因为需要创建应用程序池,需要加载ASP.NET或其他框架,然后你的应用程序需要加载。因此可能需要20-30秒的时间或取决于应用程序的内容大小。
- 解决方案
醇>
所以为了避免这种类型的延迟,我们需要将空闲时间设置为0。 现在它总是快速加载。
- 应用程序池设置
醇>
答案 1 :(得分:3)
IIS应用程序池在30分钟不活动后关闭。之后,当您提出请求时,IIS基本上必须再次启动网站,这会导致您所描述的行为。您可以在IIS中更改网站的空闲时间,以避免它。
您还可以查看4.0框架的Auto-Start功能。
答案 2 :(得分:0)