[英]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支持的人是可愛的,它只是采取了什么感覺年齡(近兩天!)來獲得服務水平增加,這將是致命的,如果我們推出一直公開!
當我將 Reserve 並發設置為 100 以下時,我遇到了這個問題。並且使用aws-sdk
發送超過 100 個請求。
實際上,當預留並發相對較低時,任何超過您的並發設置的並發請求(例如,當並發為 20 時發送 21 請求)都會拋出TooManyRequestsException
。 我不確定是我的帳戶問題還是正如@nelsonic 提到的:默認限制。
但是當我增加我的並發數不低於100時,如果不起作用,繼續增加,那么問題就解決了。 希望這能有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.