C# IIS8 MVC.net4应用程序慢启动

C# IIS8 MVC.net4应用程序慢启动,c#,asp.net-mvc,performance,iis-7.5,C#,Asp.net Mvc,Performance,Iis 7.5,您好,非常感谢您的建议 我有一个C.NET 4.0 MVC应用程序托管在Windows2012服务器IIS8上,尽管同样的问题可以在W2008R2和IIS7.5上复制 每个新会话大约需要10秒才能加载。 这与空闲超时无关。我的空闲超时设置为120分钟。 我打开Chrome和IE,在一个浏览器中进入注销页面,需要10秒钟。 加载页面后,我假设应用程序已编译,等等,我使用IE进入同一页面,这需要10秒钟。如果我刷新页面-我会在大约1秒钟内将其恢复,就像任何后续页面一样。如果我关闭浏览器并毫不延迟地重

您好,非常感谢您的建议

我有一个C.NET 4.0 MVC应用程序托管在Windows2012服务器IIS8上,尽管同样的问题可以在W2008R2和IIS7.5上复制

每个新会话大约需要10秒才能加载。 这与空闲超时无关。我的空闲超时设置为120分钟。 我打开Chrome和IE,在一个浏览器中进入注销页面,需要10秒钟。 加载页面后,我假设应用程序已编译,等等,我使用IE进入同一页面,这需要10秒钟。如果我刷新页面-我会在大约1秒钟内将其恢复,就像任何后续页面一样。如果我关闭浏览器并毫不延迟地重新启动,再次点击第一页将需要10秒钟。 我一直在本地主机上尝试,以消除与网络相关的延迟

我确实尝试使用

 C:\Windows\System32\inetsrv>appcmd list requests
  REQUEST "fb0000048000c8d0" (url:GET /logout, time:9828 msec,   client:fe80::4e6:dd83:6fd2:c1f8%12, stage:AcquireRequestState, module:Detector)
我可以看出,Worker进程执行时间最长。 我正在使用注销页面,因为它不安全。这里的Web.config读取

  <location path="logout">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>
最后,在我的控制器中,我引入了调试打印并在cshtml页面上复制它们:

2013-04-30 13:09:48,784 [56] ERROR [(null)] <(null)> - Start Controller
2013-04-30 13:09:48,842 [56] ERROR [(null)] <(null)> - Return view in  Controller
视图上的输出: 2013年4月30日13:09:50

这让我相信控制器的执行和视图的渲染并不是导致延迟的原因


任何想法或意见都是非常受欢迎和赞赏的。如果有任何信息丢失,请道歉。

您是否在每次会话中打开数据连接?嗨,乔治,我确实在打开数据连接,刚才查看了SQL探查器:在我在日志中获取启动控制器之前200毫秒,连接已打开-RPC:Completed exec sp_reset_connection EntityFrameworkMUE SYSTEM NT AUTHORITY\SYSTEM 0 0 0 0 9908 59 2013-04-30 14:36:37.650 2013-04-3014:36:37.650 0x00000000000000002600730070005F0072006500730650074005F0063006F006E006E006500630740069006F006E00审核登录-网络协议:LPC-后跟所有必要的查询-因此在这之前需要一些时间:s