ASP.NET Core WebAPI解决发布后每隔一段时间请求变缓慢

环境

  • 项目:.NET Core WebAPI 3.1

  • 平台:Windows Server 2008 r2

  • 服务器:IIS 7.5

前言

项目发布到IIS以后第一次请求特别慢大概7.8秒,然后每隔5分钟请求一次大概2.3秒,下面讲解下我的解决过程,如果心急的朋友直接看最后一步。.

1、在IIS站点中设置HTTP响应头Cache-control

这个把当前请求页面缓存了,会出现2个账号登录显示的是相同页面,请求响应的时间并没有提高

ASP.NET Core WebAPI解决发布后每隔一段时间请求变缓慢

2、在IIS应用程序池 高级设置

CPU限制间隔由原来5分钟更改为0,闲置超时由原来20分钟更改为0,也就是不受限制,但依然会出现休眠状态速度还是一样慢

ASP.NET Core WebAPI解决发布后每隔一段时间请求变缓慢

3、在命令行切换到 当前项目目录 

使用.NET Core内置服务器Kestrel启动,问题依然没有解决

ASP.NET Core WebAPI解决发布后每隔一段时间请求变缓慢

4、在接口中设置一个test参数直接返回OK

利用windows计划程序,每隔2分钟执行批处理文件 去请求唤醒它,问题还是存在

ASP.NET Core WebAPI解决发布后每隔一段时间请求变缓慢

5、在IIS 7.5中安装 应用程序预热模块

下面是下载链接,2个组件都要安装,选择应用程序池设置AlwaysRunning,但是没有生效问题依旧存在

预热组件下载地址:http://www.iis.net/downloads/microsoft/application-initialization

预热配置界面下载:http://www.it165.net/uploadfile/2013/0601/20130601104150404.zip

ASP.NET Core WebAPI解决发布后每隔一段时间请求变缓慢

ASP.NET Core WebAPI解决发布后每隔一段时间请求变缓慢

6、升级服务器到Windows Server 2012或更高

安装IIS 8.0,注意安装IIS时候选择上 应用程序初始化  ,应用程序池启动模式:

AlwaysRunning、闲置超时:1740分、网站预加载已启用:True,最后问题解决!

ASP.NET Core WebAPI解决发布后每隔一段时间请求变缓慢

ASP.NET Core WebAPI解决发布后每隔一段时间请求变缓慢