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