Val*_*tor 5 iis windows-server-2016 asp.net-core
我有一个在 Windows Server 2016 计算机上运行的 ASP.NET Core MVC 应用程序。我遇到的问题是,闲置约 1 分钟后,应用程序响应请求的速度很慢。如果我连续使用该应用程序,一切都很好,很快,但如果我一分钟不提交请求,下一个请求将需要 10 秒以上才能得到响应。
我开始摆弄 IIS 应用程序池设置以使其保持活力,但没有任何改变。最后,我完全删除了 IIS,并使用 Http.Sys 运行应用程序的构建,行为没有改变。我在 cmd 窗口中监视了应用程序日志,因为它在 Http.Sys 中运行,闲置一分钟后,当下一个请求进来大约 10 秒时没有输出,因此应用程序甚至没有开始执行任何操作直到那时。10 秒后,应用程序将在正常时间内响应请求。
应用程序日志示例:
信息:Microsoft.AspNetCore.Routing.EndpointMiddleware[0] 执行端点 'XXXXXX (XXXX)' 信息:Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1] 路由与 {action = "xxx", controller = "xxx"} 匹配。执行操作 XXXXXX (XXXX) 信息:Microsoft.AspNetCore.Hosting.Internal.WebHost[2] 请求在 6.2621ms 200 text/html 内完成;字符集=utf-8
// 立即刷新页面:
信息:Microsoft.AspNetCore.Routing.EndpointMiddleware[0] 执行端点 'XXXXXX (XXXX)' 信息:Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1] 路由与 {action = "xxx", controller = "xxx"} 匹配。执行操作 XXXXXX (XXXX) 信息:Microsoft.AspNetCore.Hosting.Internal.WebHost[2] 请求在 6.658ms 内完成 200 text/html;字符集=utf-8
// 等待 1 分钟,然后刷新页面(日志中大约 10 秒没有任何活动,然后是这样的:)
信息:Microsoft.AspNetCore.Routing.EndpointMiddleware[0] 执行端点 'XXXXXX (XXXX)' 信息:Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1] 路由与 {action = "xxx", controller = "xxx"} 匹配。执行操作 XXXXXX (XXXX) 信息:Microsoft.AspNetCore.Hosting.Internal.WebHost[2] 请求在 7.1181ms 200 text/html 内完成;字符集=utf-8
我可以寻找一些可能使服务器上的这些进程休眠的东西吗?我没有在 Visual Studio 本地运行或在另一个测试服务器上测试时遇到这种情况,仅在暴露于 Internet 的演示服务器上遇到这种情况。我还应该补充一点,我在 SQL Server 2017 中使用 DbContext,它作为中间件注入到每个请求管道中,如果这可能是一个原因的话。
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           976 次  |  
        
|   最近记录:  |