我将.net core 2.1应用程序部署在AWS Lambda上,我使用AspNetCoreServer Package进行代理路由到我的控制器,但我发现此解决方案存在问题,在我的第一个请求中,lambda执行该请求的速度非常慢动作控制器,但是在其他人的请求很快,我查看了CloudWatch日志以了解发生了什么,并且我在日志中看到最长的时间在ControllerActionInvoker:Route Match中,以调用我的动作,我想知道自己是否做错了什么还是.net核心对于AWS Lambda来说很慢。
我的日志凭证:
谢谢
答案 0 :(得分:1)
冷启动(第一次lambda调用)不是.Net Core的特定问题。 您可以在this article中找到不同语言的时序比较。
答案 1 :(得分:0)
实际上,第一个缓慢的请求不仅是由lambda冷启动引起的。 在Lambda中使用.Net Core,您有2个冷启动:lambda本身的冷启动和.net Core本身的冷启动。 为了避免这2次冷启动,您必须:
请参阅此github issue,以了解有关.Net Core中第一个缓慢请求的更多信息(仍然希望在下一个dotnet Core版本中可以解决此问题或更好地解决此问题,但是现在您没有更好的选择)