通过默认,Lambda并发执行限制为1000,调用为(* 10 * current_execution_limit *)10,000。 https://docs.aws.amazon.com/lambda/latest/dg/limits.html
调用限制如何以及何时生效?如果我在给定的时间内用1个帐户总共调用了1001个函数,那么它将产生一个节流错误,因为1000个函数将处于活动状态,那么在永远无法达到时设置一个调用限制有什么意义呢?我的理解正确吗?如何在不打扰并发限制的情况下达到调用限制?
答案 0 :(得分:1)
调用频率限制是每秒允许调用该函数的请求数的限制。
对于同步调用,仅当函数完成执行的时间少于1/10 s = 100 ms时,才可以超过此限制,因为在这种情况下,您可以调用超过每秒10,000个请求,同时仍不超过1,000个并发。如果您的函数运行时间超过100毫秒,则每秒不能超过10,000次调用,因为并发限制将使此操作变得不可能。
对于异步调用,您可以更容易地超过调用频率限制,因为异步调用返回响应而无需等待函数实际运行-丢弃该函数的返回值。 Lambda使请求入队,并以最大并发性运行它们,但不会接受超出调用频率限制的速率。