Concurrent executions of Lambda functions

0

I would like to understand how many calls of a Lambda function, through AWS-SDK, I can perform simultaneously. Now I am a free tier and it seems that I can't performe more than 10 concurrently executions. In my project, each client is going to make running a function and so the number of concurrently executions that my aws account can performe would be equal to the number of clients that my web app can serve simultaneously. I will be fine with 1000 at the beginning. Is it possible? How many concurrently executions my aws account (if not anymore free tier) could manage of a single function and overall through all functions by default? I will use Europe (Milano) region. With my account, right now, I can performe 10 concurrent executions of my function. I attached my concurrency data in the image:Enter image description here

And my code:;

import AWS from 'aws-sdk';

AWS.config.update({ accessKeyId: 'idKey', secretAccessKey: 'SecretKey', region: 'eu-west-3', });

const lambda = new AWS.Lambda();

var Utente = {feature: "feature"};

const params = { FunctionName: 'Lambda', Payload: JSON.stringify(Utente) }; ˙ lambda.updateFunctionConfiguration({ FunctionName: 'Lambda', Environment: { Variables: {} } }).promise();

function Invokation(params){ lambda.invoke(params, (error, data) => { if (error) { console.log(error) } else { console.log("OK") } }) };

for (let index = 0; index < 20; index++) { console.log(index); Invokation(params); }

1 Answer
2

As you noted, you can have concurrent executions up to the account limit per region. It's likely that you have a lower limit due to the account age or service usage. You can request a service quota increase to have a higher limit as needed. Also from your code, as you mentioned, you can make SDK calls simultaneously or in sequence to invoke multiple concurrent executions. Your concurrent executions can be consumed by a single or multiple Lambda functions. Those Lambda functions without reserved concurrency share the account level concurrency limit. If you want to avoid a situation where a single function consumes all the account level limit, you can allocate some reserved concurrency to a particular function.

New AWS accounts have reduced concurrency and memory quotas. AWS raises these quotas automatically based on your usage. You can also request a quota increase.

AWS
Taka_M
answered a year ago
profile pictureAWS
EXPERT
reviewed a year ago
  • I understood, but I'm still asking myself why I have only 10 concurrent executions available? I read everywhere that the default concurrent executions are 1000 and I would be ok with that. Do I have only 10 due to the fact that I am a free tier? Why otherwise?

  • As mentioned in my answer, it can be due to the account age. You can always open a service limit increase request as needed.

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions