【发布时间】:2018-10-07 09:20:57
【问题描述】:
我在 Windows 2016 服务器上运行了一些 Web API。
状态 1。这是我超过 25 分钟未使用 API 时服务器上的内存使用情况。此时执行第一个任务需要很长时间。
如您所见,API 可能正在加载到服务器的 RAM 中。
状态 3。完成初始任务后,API 似乎已完全加载到 RAM 中,此时 API 反应非常迅速。 但同样,如果我不使用 API 大约 25 分钟以上,它会回到状态 1。我怎样才能让服务器将 API 保留在内存中更长的时间?我希望它能够加载 API 至少 1 小时,并且我使用 MVC 和 MVC CORE 来构建 API。
非常感谢您的帮助。
【问题讨论】:
-
您的应用程序池正在被回收。这与 Web API 或 MVC 没有任何关系,它是 IIS 从早期版本开始管理内存的方式。如果某个应用程序在一段时间内(通常为 20 分钟)未使用,则会将其拆除以节省资源。自 2012 年以来,应用程序池还具有可设置为始终运行的“启动模式”。这应该有助于使您的应用程序保持热门和可用。 blogs.msdn.microsoft.com/vijaysk/2012/10/09/…
-
@MarkFitzpatrick 谢谢你,我不知道在哪里解决这个问题,你的评论引导我找到答案。这是IIS配置问题。尽管您发送给我的网站没有直接帮助我,但它暗示了我正确的方向。我就是这样解决的。
标签: asp.net-mvc iis asp.net-core asp.net-core-webapi windows-server