2016-04-24 19 views
6

überschreitet Beim Versuch, ein Amazon Web Services (AWS) Lambda-Funktion (oft) wir die Fehler sahen auszuführen:AWS Lambda TooManyRequestsException: Rate

AWS Lambda TooManyRequestsException: Rate Exceeded

Wie das wir lösen?

+0

können Sie Ihre Lambda reinigen, von CLI 'aws Lambda löschen-Funktion --Funktionsname ...' –

+1

Sind Sie die [dokumentierten Standardsicherheitsgrenze] (https://aws.amazon.com/lambda/ faqs/# Skalierbarkeit) von 100 gleichzeitigen Aufrufen? –

Antwort

11

Wie von Michael, ist dies die Fehlermeldung sehen Sie, wenn Sie die default "safety" limit of 100 concurrent invocations dokumentiert erreichen:

"AWS Lambda has a default safety throttle of 100 concurrent executions per account per region. If you wish to submit a request to increase the throttle of 100 concurrent executions you can visit our Support Center..."

Die Lösung ein Support-Ticket bietet die folgenden Informationen zu öffnen war:

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

Und dann in den Körper des Tickets/Anfrage versuchen, schätzen Ihre Verwendung Muster:

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 

Es kann dauern eine während auf eine Antwort von AWS Support zu bekommen, wenn Sie für Premium-Support zahlen, so dass ihr am besten Ihre Anwendung während der Entwicklung/staging und Anforderung an Anstieg gleichzeitige Anrufungen laden testenvor starten Sie Ihre App!

In unserem Fall dauerte es 45 Stunden von anfängliche Support-Anfrage, um die Erhöhung der Aufrufgrenze zu erhalten. aws-lambda-limits-increase-request aws-lambda-limits-request-sorted

Die Unterstützung von Menschen AWS sind sehr schön, es hat genau das, was wie Alter fühlte (fast zwei Tage!), Um die Service-Level-Anstieg zu bekommen, die tödlich gewesen wäre, wenn unsere Einführung öffentlich gewesen !