簡體   English   中英

AWS Lambda 上的 .NET Core Web Api 在第一次請求時速度很慢

[英].NET Core Web Api on AWS Lambda is slow upon first request

我正在 AWS Lambda 上部署我的 .net core 2.1 應用程序,我正在使用 AspNetCoreServer 包代理路由到我的控制器,我發現這個解決方案有問題,在我的第一個請求中,lambda 執行動作控制器非常慢,但在其他人的請求中速度很快,我查看 CloudWatch 日志以了解發生了什么,我在日志中看到最長的時間是在 ControllerActionInvoker: Route Match 中調用我的操作,我想知道我是否做錯了什么或者是 .net aws lambda 的核心速度很慢。

我的日志證據:

這是我的第一個請求日志: 這是我的第一個請求日志

我的第二個請求日志: 第二次請求日志

謝謝

其實第一個慢請求不僅僅是lambda冷啟動造成的。 使用 lambda 中的 .Net Core,您有 2 個冷啟動:lambda 本身的冷啟動和 .net core 本身的冷啟動。 為了避免這 2 個冷啟動,您必須:

  • Lambda 冷啟動:通過每 5 分鍾調用一次來預熱您的 lambda
  • .Net Core 冷啟動:通過在啟動時調用所有端點來預熱您的 .Net Core api

請參閱此github 問題以了解有關 .Net Core 中第一個緩慢請求的更多信息(仍然希望在下一個 dotnet core 版本中修復或更好地管理此問題,但現在您沒有更好的選擇)

冷啟動(第一次 lambda 調用)不是 .Net Core 的特定問題。 您可以在本文中找到不同語言的時序比較。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM