微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net-mvc – 第一个Web API会话请求非常慢

我正在编写一个托管在IIS7上的ASP.NET Web API应用程序(无特殊配置)。

我的问题是,对于每个第一个请求(在新的机器/新的浏览器/一段时间后),有一个很长的延迟 – 即使是返回常量的请求!

我已经阅读了关于“预热”脚本,但这不是问题。看起来Web服务器正在尝试创建一个会话,它需要很长时间。有什么建议么?

编辑

我认为延迟是由每个新会话的工作进程创建引起的。现在的问题是为什么这么慢,为什么Web服务器不能重用生活工作流程来提供请求?

我配置了应用程序池,将工作进程限制为5,没有超时(设置为0)。这导致了前五个会话对于第一个请求(我可以生活)缓慢,现在工作进程还活着。但令人惊讶的是,不时要求再次缓慢!

解决方法

如果您使用Windows Server 2008 R2,则应用程序池可以使用 configure the Auto-Start feature。同样在应用程序池的属性中,您应该禁用它定期循环使用。请记住,虽然这将限制缓慢,应用程序池仍然可以通过IIS回收。使用自动启动功能,它将在内存中自动重新加载,但是Application_Start中的代码将在下一个请求中执行。所以你仍然可以观察到一些缓慢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐