Burst concurrency constraint!

0

Hello, I am currently managing an account with a concurrency of 20,000 and a burst concurrency of 3,000 for a web-based application. In the context of an AWS Step Function, I have implemented a Lambda function within a distributed map. When a user uses the application, the map generates approximately 25,000 requests for the Lambda at the same time (I am avoiding batching due to its adverse impact on the running time of the Lambda function). Considering the operational context where the web application is utilized approximately 5-6 times a day per their need (no specific time).

My question is how to avoid throttling while burst concurrency represents a constraint. Is there a way to ask AWS to increase the burst concurrency? I have also read about provisioned concurrency but it seems that it is expensive for my application. Thanks in advance!

Ahmed
已提问 4 个月前484 查看次数
1 回答
0
已接受的回答

First, we just announced a new scaling behavior for Lambda: Each function now starts with a limit of 1000 and gets an additional 1000 every 10 seconds.

Saying that, it will not solve your issue, as you still need 25K at the same time. What you need to do is catch the throttling errors in the state machine and retry. Alternatively, if your use case allows this, you cam invoke your functions asynchronously (only if your state machine does not need the functions' response).

Regarding Provisioned Concurrency, as you said, it will be costly, but if you know when you will need it, you can enable it before, let the state machine run, and then disable it. But, it will take longer the overall process.

profile pictureAWS
专家
Uri
已回答 4 个月前
  • Thank you. I will learn about these two alternatives.

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则