【问题标题】:Calling a web application from another web application hosted on the same IIS have latency?从托管在同一 IIS 上的另一个 Web 应用程序调用 Web 应用程序是否有延迟?
【发布时间】:2014-08-18 14:08:22
【问题描述】:

我有两个基于 2.0 和 4.0 框架的 Web 应用程序。我有从 4.0 FM 站点到 2.0 FW 站点的链接。因此两者都托管在相同的 IIS 上,但具有不同的应用程序池。我使用 iframe 从 site4.0 调用这个 site2.0。所以当我点击一个按钮来加载这个site2.0时,第一次加载要花很多时间。之后它像往常一样加载。如果您有建议,请建议我。我正在考虑使用 global.asax 文件并使用 Application_start 事件在 site4.0 加载的第一次加载该站点。但不知道该怎么做。

谢谢

【问题讨论】:

    标签: c# asp.net iis


    【解决方案1】:

    有几个原因会导致您的请求出现延迟:

    如果这是第一个请求,您的网站只是 JITing(称为即时编译)。对于 any .NET 应用程序的第一次调用会发生这种情况;在 IIS 上运行,它表现为比正常的第一个请求更长。这是正常的。

    有两种方法可以对抗它:

    • 通过在部署后立即发起请求来“预热”您的站点,从而导致 JITing(和视图编译)发生。
    • 使用像ngen to pre-JIT your site 这样的产品。

    如果您对后续请求有延迟,那么您需要分析您的应用程序。确保它以“发布”模式构建。

    当应用程序池被回收时,您的站点将不得不重新 JIT; this is normal。保活任务 - 一个自动 HTTP 请求实用程序(例如每隔一段时间执行一次 wget 的脚本)将阻止您的应用程序池因不活动而被回收。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-14
      • 1970-01-01
      • 1970-01-01
      • 2011-08-29
      • 2013-01-07
      • 2018-12-21
      • 1970-01-01
      • 2015-05-23
      相关资源
      最近更新 更多