簡體   English   中英

AWS Lambda TooManyRequestsException:超出速率

[英]AWS Lambda TooManyRequestsException: Rate Exceeded

在嘗試執行 Amazon Web Services (AWS) Lambda 函數(多次)時,我們看到錯誤:

AWS Lambda TooManyRequestsException: Rate Exceeded

我們如何解決這個問題?

正如Michael所指出的,這是當您達到記錄的默認安全限制100 次並發調用時您將看到的錯誤消息:

AWS Lambda 的默認安全限制是每個賬戶每個區域100 個並發執行。如果您希望提交請求以增加 100 個並發執行的限制,您可以訪問我們的支持中心......”

解決方案是打開一張支持票,提供以下信息:

Limit increase request 1 
Service: Lambda 
Region: EU (Ireland) 
Limit name: concurrent requests (average duration * average TPS) 
New limit value: 2000

然后在工單/請求的正文中嘗試估計您的使用模式:

Expected average requests per second: 200 
Expected peak requests per second: 2000 
Expected function duration: 2 seconds 
Function memory size: 1000mb 
Invocation Type: Request-response 
Event Source: Api Gateway & Lambda<->Lambda

除非您為高級支持付費,否則可能需要一段時間才能從 AWS Support 獲得響應,因此最好在開發/暫存期間對您的應用程序進行負載測試,並啟動應用程序之前請求增加並發調用

在我們的案例中,從最初的支持請求到增加調用限制需要45 小時 aws-lambda-limits-increase-requestaws-lambda-limits-request-sorted

在AWS支持的人是可愛的,它只是采取了什么感覺年齡近兩天!)來獲得服務水平增加,這將是致命的,如果我們推出一直公開!

當我將 Reserve 並發設置為 100 以下時,我遇到了這個問題。並且使用aws-sdk發送超過 100 個請求。

實際上,當預留並發相對較低時,任何超過您的並發設置的並發請求(例如,當並發為 20 時發送 21 請求)都會拋出TooManyRequestsException 我不確定是我的帳戶問題還是正如@nelsonic 提到的:默認限制。

但是當我增加我的並發數不低於100時,如果不起作用,繼續增加,那么問題就解決了。 希望這能有所幫助。

暫無
暫無

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

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