2016-04-24 20 views
6

Quando si tenta di eseguire un Amazon Web Services funzione (AWS) Lambda (molte volte) che stavamo vedendo l'errore:AWS Lambda TooManyRequestsException: Tasso superato

AWS Lambda TooManyRequestsException: Rate Exceeded

Come si fa a risolvere questo?

+0

puoi pulire il tuo lambda, dalla CLI 'aws lambda delete-function --function-name ...' –

+1

Stai colpendo il [limite di sicurezza predefinito documentato] (https://aws.amazon.com/lambda/ faqs/# scalability) di 100 invocazioni simultanee? –

risposta

11

Come notato da Michael, questo è il messaggio di errore si vedrà quando si raggiunge la documentata default "safety" limit of 100 concurrent invocations:

"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..."

La soluzione era quella di aprire un ticket di supporto fornendo le seguenti informazioni:

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

E poi nel corpo del biglietto/richiesta prova a stima il tuo schema di utilizzo:

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 

si può prendere un mentre per ottenere una risposta dal supporto AWS a meno che non si sta pagando per supporto premium, in modo del suo meglio per carico di prova la vostra applicazione durante lo sviluppo/messa in scena e la richiesta di aumento invocazioni concorrentiprima si avvia l'app!

Nel nostro caso ci sono voluti 45 ore dalla richiesta di supporto iniziale per ottenere l'aumento del limite di chiamata. aws-lambda-limits-increase-request aws-lambda-limits-request-sorted

Le persone di supporto AWS sono molto belle, appena ha preso quello che sembrava età (quasi due giorni!) Per ottenere l'aumento di livello di servizio, che sarebbe stato fatale se il nostro lancio fosse stata pubblica !