从托管在同一IIS上的另一个web应用程序调用web应用程序有延迟
本文关键字:应用程序 web 另一个 调用 延迟 IIS | 更新日期: 2023-09-27 18:18:24
我有两个基于2.0和4.0框架的web应用程序。我有链接到2.0 FW网站从4.0 FM网站。因此,两者都托管在相同的IIS上,但使用不同的应用程序池。我使用iframe从site4.0调用这个site2.0。所以当我点击一个按钮来加载这个站点2.0时,它第一次加载要花很多时间。之后,它像往常一样加载。如果你有什么建议,请告诉我。我想用global。第一次加载site4.0时,使用Application_start事件加载该站点。但不知道该怎么做。
谢谢
造成请求延迟的原因如下:
如果这是第一个请求,您的站点仅仅是jit(称为及时编译)。这发生在任何 .NET应用程序的第一次调用;在IIS上运行时,它表现为比正常的第一次请求更长。这是正常的
有两种解决方法:
- 通过在部署后立即发起请求来"预热"您的站点,以导致jit(和视图编译)发生。
- 使用像
ngen
这样的产品来预jit您的站点。
如果后续请求有延迟,则需要对应用程序进行概要分析。确保它是以"发布"模式构建的。
当应用池被回收,你的网站将不得不重新jit;这很正常。keep alive任务——一个自动的HTTP请求实用程序(就像一个脚本,每隔一段时间就会做一个wget
)将防止你的应用程序池由于不活跃而被回收。