C# ASP.NET核心Web API项目中的控制器保温
我注意到,一段时间后,我的ASP.NET核心Web API服务似乎经历了与新启动时相同的初始化过程,即初始请求很慢,但后续请求很快 有没有一种让控制器保持温暖的通用技术,这样就不会发生这种情况?作为参考,我没有使用IIS(据我所知),这些服务在Docker中使用Microsoft官方的.NET Core Docker映像运行(不基于Alpine)C# ASP.NET核心Web API项目中的控制器保温,c#,.net,asp.net-web-api,C#,.net,Asp.net Web Api,我注意到,一段时间后,我的ASP.NET核心Web API服务似乎经历了与新启动时相同的初始化过程,即初始请求很慢,但后续请求很快 有没有一种让控制器保持温暖的通用技术,这样就不会发生这种情况?作为参考,我没有使用IIS(据我所知),这些服务在Docker中使用Microsoft官方的.NET Core Docker映像运行(不基于Alpine) 我还应该指出,这些服务中的控制器在启动时通过Kubernetes调用的/ready端点进行预热,作为就绪检查。问题是,这似乎不会持续很长时间。这听起来
我还应该指出,这些服务中的控制器在启动时通过Kubernetes调用的
/ready
端点进行预热,作为就绪检查。问题是,这似乎不会持续很长时间。这听起来绝对不像是控制器问题。控制器通常是每个请求的新实例。当你在评论中提到“慢->8秒,快->300毫秒”
时,这肯定与红隼或控制器无关
你的问题可能有很多,但这里有一些猜测:
- 如果您在Windows中运行应用程序(如Azure应用程序服务),则它在IIS下运行。您可能需要检查IIS和主机设置。如果您的web服务是“廉价”层,有些主机会暂停它
这听起来确实像是你有一个很慢的外部呼叫。可能是数据库、外部API或其他重新验证的东西“慢速->8秒”